Files
zkxw/backend/app/graphify-out/cache/ast/cb0515d6fd30a48d534d474f3a8fb4bafe8858888b419507e68815092238b029.json
T
2026-07-15 16:20:48 +08:00

1 line
68 KiB
JSON

{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "label": "oa_approval.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_dumps", "label": "_dumps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L23"}, {"id": "crud_oa_approval_loads", "label": "_loads()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L31"}, {"id": "crud_oa_approval_role_to_dict", "label": "_role_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L47"}, {"id": "crud_oa_approval_ensure_presets", "label": "ensure_presets()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L63"}, {"id": "crud_oa_approval_member_count_map", "label": "_member_count_map()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L104"}, {"id": "crud_oa_approval_list_roles", "label": "list_roles()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L122"}, {"id": "crud_oa_approval_get_role", "label": "get_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L142"}, {"id": "crud_oa_approval_create_role", "label": "create_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L150"}, {"id": "crud_oa_approval_update_role", "label": "update_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L199"}, {"id": "crud_oa_approval_delete_role", "label": "delete_role()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L232"}, {"id": "crud_oa_approval_list_role_users", "label": "list_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L245"}, {"id": "crud_oa_approval_replace_role_users", "label": "replace_role_users()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L269"}, {"id": "crud_oa_approval_list_oa_role_user_ids", "label": "list_oa_role_user_ids()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L320"}, {"id": "crud_oa_approval_group_to_dict", "label": "_group_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L359"}, {"id": "crud_oa_approval_list_groups", "label": "list_groups()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L371"}, {"id": "crud_oa_approval_get_group", "label": "get_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L381"}, {"id": "crud_oa_approval_create_group", "label": "create_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L389"}, {"id": "crud_oa_approval_update_group", "label": "update_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L421"}, {"id": "crud_oa_approval_delete_group", "label": "delete_group()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L451"}, {"id": "crud_oa_approval_app_to_dict", "label": "_app_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L474"}, {"id": "crud_oa_approval_get_app", "label": "get_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L497"}, {"id": "crud_oa_approval_list_apps", "label": "list_apps()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L505"}, {"id": "crud_oa_approval_create_version", "label": "_create_version()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L565"}, {"id": "crud_oa_approval_create_app", "label": "create_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L602"}, {"id": "crud_oa_approval_update_app", "label": "update_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L666"}, {"id": "crud_oa_approval_delete_app", "label": "delete_app()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L728"}, {"id": "crud_oa_approval_find_draft", "label": "_find_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L749"}, {"id": "crud_oa_approval_find_latest_published", "label": "_find_latest_published()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L763"}, {"id": "crud_oa_approval_version_draft_to_dict", "label": "_version_draft_to_dict()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L776"}, {"id": "crud_oa_approval_get_or_create_draft", "label": "get_or_create_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L809"}, {"id": "crud_oa_approval_save_draft", "label": "save_draft()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L856"}, {"id": "crud_oa_approval_rationale_1", "label": "OA \u5ba1\u6279 CRUD\uff08\u5de5\u4f5c\u6d41\u89d2\u8272\u3001\u5206\u7ec4\u3001\u5e94\u7528\u3001\u8349\u7a3f\u7b49\uff09", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1"}, {"id": "crud_oa_approval_rationale_64", "label": "\u5e42\u7b49\u5199\u5165\u9884\u7f6e\u89d2\u8272 GM / CHAIRMAN\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_core_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "app_models_models", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_dumps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L23", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_loads", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_role_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L47", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_ensure_presets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L63", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_member_count_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L104", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_roles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L142", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L150", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_role", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L232", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_replace_role_users", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L269", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_oa_role_user_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L320", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_group_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L359", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_groups", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L389", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_group", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L451", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_app_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L474", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L497", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_list_apps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L505", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L565", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_create_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L602", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_update_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L666", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_delete_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L728", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L749", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_find_latest_published", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L763", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_version_draft_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L776", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_get_or_create_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L809", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "target": "crud_oa_approval_save_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L856", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_ensure_presets", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L129", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_member_count_map", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L138", "weight": 1.0}, {"source": "crud_oa_approval_list_roles", "target": "crud_oa_approval_role_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L139", "weight": 1.0}, {"source": "crud_oa_approval_update_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L210", "weight": 1.0}, {"source": "crud_oa_approval_delete_role", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L233", "weight": 1.0}, {"source": "crud_oa_approval_replace_role_users", "target": "crud_oa_approval_get_role", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L277", "weight": 1.0}, {"source": "crud_oa_approval_list_groups", "target": "crud_oa_approval_group_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L378", "weight": 1.0}, {"source": "crud_oa_approval_update_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L431", "weight": 1.0}, {"source": "crud_oa_approval_delete_group", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L452", "weight": 1.0}, {"source": "crud_oa_approval_app_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L483", "weight": 1.0}, {"source": "crud_oa_approval_list_apps", "target": "crud_oa_approval_app_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L555", "weight": 1.0}, {"source": "crud_oa_approval_create_version", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L585", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L625", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L635", "weight": 1.0}, {"source": "crud_oa_approval_create_app", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L650", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L684", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_get_group", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L696", "weight": 1.0}, {"source": "crud_oa_approval_update_app", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L709", "weight": 1.0}, {"source": "crud_oa_approval_delete_app", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L729", "weight": 1.0}, {"source": "crud_oa_approval_version_draft_to_dict", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L777", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L812", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L815", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L817", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_find_latest_published", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L818", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_create_version", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L821", "weight": 1.0}, {"source": "crud_oa_approval_get_or_create_draft", "target": "crud_oa_approval_loads", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L827", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L867", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_get_or_create_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L871", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_find_draft", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L872", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_update_app", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L891", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_dumps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L898", "weight": 1.0}, {"source": "crud_oa_approval_save_draft", "target": "crud_oa_approval_version_draft_to_dict", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L914", "weight": 1.0}, {"source": "crud_oa_approval_rationale_1", "target": "users_wuzilong_work_00code_zkxw_backend_app_crud_oa_approval_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L1", "weight": 1.0}, {"source": "crud_oa_approval_rationale_64", "target": "crud_oa_approval_ensure_presets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L64", "weight": 1.0}], "raw_calls": [{"caller_nid": "crud_oa_approval_dumps", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L26"}, {"caller_nid": "crud_oa_approval_dumps", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L28"}, {"caller_nid": "crud_oa_approval_loads", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L34"}, {"caller_nid": "crud_oa_approval_loads", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L37"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L58"}, {"caller_nid": "crud_oa_approval_role_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L59"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L65"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L69"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L79"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L80"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L95"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L96"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L98"}, {"caller_nid": "crud_oa_approval_ensure_presets", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L100"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L108"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L110"}, {"caller_nid": "crud_oa_approval_member_count_map", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L118"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L130"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L130"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L131"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L134"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L136"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L137"}, {"caller_nid": "crud_oa_approval_list_roles", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L139"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_get_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L144"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L161"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L162"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L162"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L164"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L166"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L168"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L170"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L175"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L176"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "OaRole", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L177"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L178"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L185"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L193"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L194"}, {"caller_nid": "crud_oa_approval_create_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L195"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L212"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L214"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L216"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L223"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L225"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L226"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L227"}, {"caller_nid": "crud_oa_approval_update_role", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L228"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L235"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L237"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L240"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L241"}, {"caller_nid": "crud_oa_approval_delete_role", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L242"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "outerjoin", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L247"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "and_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L248"}, {"caller_nid": "crud_oa_approval_list_role_users", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L258"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L279"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L280"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L282"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L294"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L295"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L297"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L300"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L301"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "OaRoleUser", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L302"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L303"}, {"caller_nid": "crud_oa_approval_replace_role_users", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L317"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L325"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L327"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L337"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L339"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L339"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "set", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L346"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L349"}, {"caller_nid": "crud_oa_approval_list_oa_role_user_ids", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L350"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L366"}, {"caller_nid": "crud_oa_approval_group_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L367"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L373"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L375"}, {"caller_nid": "crud_oa_approval_list_groups", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L375"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_get_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L383"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L398"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L400"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L401"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "OaAppGroup", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L402"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L403"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L407"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L415"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L416"}, {"caller_nid": "crud_oa_approval_create_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L417"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L433"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L435"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L437"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L442"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L444"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L445"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L446"}, {"caller_nid": "crud_oa_approval_update_group", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L447"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L454"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L456"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L461"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L464"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L465"}, {"caller_nid": "crud_oa_approval_delete_group", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L466"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L492"}, {"caller_nid": "crud_oa_approval_app_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L493"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_get_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L499"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L513"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L513"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L515"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L517"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L518"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L521"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "like", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L521"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "asc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L522"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "list", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L523"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L527"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "in_", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L528"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L535"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L545"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L554"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L557"}, {"caller_nid": "crud_oa_approval_list_apps", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L558"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L578"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "OaAppVersion", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L579"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L580"}, {"caller_nid": "crud_oa_approval_create_version", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L598"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L619"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L621"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L622"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L623"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L624"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L626"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L627"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "OaApp", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L628"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "generate_uuid", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L629"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L632"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L633"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L641"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L649"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L661"}, {"caller_nid": "crud_oa_approval_create_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L662"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L686"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L688"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L690"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L691"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L692"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L695"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L697"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L700"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L702"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "len", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L703"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L704"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L719"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L721"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L722"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L723"}, {"caller_nid": "crud_oa_approval_update_app", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L724"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L731"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L732"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L736"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "all", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L738"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L745"}, {"caller_nid": "crud_oa_approval_delete_app", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L746"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L751"}, {"caller_nid": "crud_oa_approval_find_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L758"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_find_latest_published", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L765"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L778"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L779"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L781"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L782"}, {"caller_nid": "crud_oa_approval_version_draft_to_dict", "callee": "strftime", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L805"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L814"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "first", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "order_by", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "query", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L834"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "desc", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L836"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L851"}, {"caller_nid": "crud_oa_approval_get_or_create_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L852"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L869"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L874"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "ValueError", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L895"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "now", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L896"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L902"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L903"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "update", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L904"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "add", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L910"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "commit", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L911"}, {"caller_nid": "crud_oa_approval_save_draft", "callee": "refresh", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/crud/oa_approval.py", "source_location": "L912"}]}