| 1 |
- {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "label": "opportunity.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1"}, {"id": "crm_opportunity_ensure_opportunity_in_scope", "label": "_ensure_opportunity_in_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L59"}, {"id": "crm_opportunity_scoped_opportunity_query", "label": "_scoped_opportunity_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L63"}, {"id": "crm_opportunity_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L80"}, {"id": "crm_opportunity_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L86"}, {"id": "crm_opportunity_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L104"}, {"id": "crm_opportunity_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L120"}, {"id": "crm_opportunity_stage_default_percent", "label": "_stage_default_percent()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L126"}, {"id": "crm_opportunity_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L130"}, {"id": "crm_opportunity_enrich_user_names", "label": "_enrich_user_names()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L140"}, {"id": "crm_opportunity_guard_terminal_status", "label": "_guard_terminal_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L166"}, {"id": "crm_opportunity_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L171"}, {"id": "crm_opportunity_stage_log_to_dict", "label": "_stage_log_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L209"}, {"id": "crm_opportunity_apply_list_filters", "label": "_apply_list_filters()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L239"}, {"id": "crm_opportunity_list_opportunities", "label": "list_opportunities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L274"}, {"id": "crm_opportunity_get_opportunity", "label": "get_opportunity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L319"}, {"id": "crm_opportunity_generate_opportunity_no", "label": "generate_opportunity_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L359"}, {"id": "crm_opportunity_fill_customer_contact", "label": "_fill_customer_contact()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L387"}, {"id": "crm_opportunity_record_stage_log", "label": "record_stage_log()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L414"}, {"id": "crm_opportunity_create_opportunity", "label": "create_opportunity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L460"}, {"id": "crm_opportunity_update_opportunity", "label": "update_opportunity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L529"}, {"id": "crm_opportunity_soft_delete_opportunities", "label": "soft_delete_opportunities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L598"}, {"id": "crm_opportunity_assign_opportunities", "label": "assign_opportunities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L626"}, {"id": "crm_opportunity_change_stage", "label": "change_stage()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L658"}, {"id": "crm_opportunity_update_customer_deal_status", "label": "_update_customer_deal_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L707"}, {"id": "crm_opportunity_mark_won", "label": "mark_won()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L731"}, {"id": "crm_opportunity_mark_lost", "label": "mark_lost()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L785"}, {"id": "crm_opportunity_batch_update_stage", "label": "batch_update_stage()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L839"}, {"id": "crm_opportunity_batch_update_expect_date", "label": "batch_update_expect_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L877"}, {"id": "crm_opportunity_get_stage_log_list", "label": "get_stage_log_list()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L946"}, {"id": "crm_opportunity_get_statistics_overview", "label": "get_statistics_overview()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L978"}, {"id": "crm_opportunity_get_statistics_by_stage", "label": "get_statistics_by_stage()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1021"}, {"id": "crm_opportunity_get_win_rate_statistics", "label": "get_win_rate_statistics()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1050"}, {"id": "crm_opportunity_get_statistics_by_owner", "label": "get_statistics_by_owner()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1102"}, {"id": "crm_opportunity_get_kanban_data", "label": "get_kanban_data()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1168"}, {"id": "crm_opportunity_get_sales_funnel", "label": "get_sales_funnel()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1211"}, {"id": "crm_opportunity_rationale_1", "label": "CRM \u5546\u673a CRUD\uff08\u4e3b\u8868 + \u9636\u6bb5/\u8d62\u8f93\u5355/\u7edf\u8ba1/\u770b\u677f/\u6f0f\u6597\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "app_crud_crm_data_scope_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L59", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_scoped_opportunity_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L63", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L86", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L104", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L120", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_stage_default_percent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L126", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L130", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_enrich_user_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L140", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_guard_terminal_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L166", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L171", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_stage_log_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L209", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_apply_list_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L239", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_list_opportunities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L274", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L319", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_generate_opportunity_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L359", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_fill_customer_contact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L387", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_record_stage_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L414", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_create_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L460", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_update_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L529", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_soft_delete_opportunities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L598", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_assign_opportunities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L626", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_change_stage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L658", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_update_customer_deal_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L707", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_mark_won", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L731", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_mark_lost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L785", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_batch_update_stage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L839", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_batch_update_expect_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L877", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_stage_log_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L946", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L978", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_statistics_by_stage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1021", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_win_rate_statistics", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1050", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_statistics_by_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1102", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_kanban_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1168", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "target": "crm_opportunity_get_sales_funnel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1211", "weight": 1.0}, {"source": "crm_opportunity_list_opportunities", "target": "crm_opportunity_apply_list_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L293", "weight": 1.0}, {"source": "crm_opportunity_list_opportunities", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L314", "weight": 1.0}, {"source": "crm_opportunity_list_opportunities", "target": "crm_opportunity_enrich_user_names", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L315", "weight": 1.0}, {"source": "crm_opportunity_get_opportunity", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L332", "weight": 1.0}, {"source": "crm_opportunity_get_opportunity", "target": "crm_opportunity_enrich_user_names", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L333", "weight": 1.0}, {"source": "crm_opportunity_get_opportunity", "target": "crm_opportunity_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L354", "weight": 1.0}, {"source": "crm_opportunity_record_stage_log", "target": "crm_opportunity_stage_default_percent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L438", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_stage_default_percent", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L470", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_generate_opportunity_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L478", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L484", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L486", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L488", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_fill_customer_contact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L506", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_record_stage_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L511", "weight": 1.0}, {"source": "crm_opportunity_create_opportunity", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L526", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L546", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_guard_terminal_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L547", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L571", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L575", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_fill_customer_contact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L580", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L589", "weight": 1.0}, {"source": "crm_opportunity_update_opportunity", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L595", "weight": 1.0}, {"source": "crm_opportunity_soft_delete_opportunities", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L616", "weight": 1.0}, {"source": "crm_opportunity_soft_delete_opportunities", "target": "crm_opportunity_guard_terminal_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L617", "weight": 1.0}, {"source": "crm_opportunity_assign_opportunities", "target": "crm_opportunity_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L635", "weight": 1.0}, {"source": "crm_opportunity_assign_opportunities", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L643", "weight": 1.0}, {"source": "crm_opportunity_change_stage", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L679", "weight": 1.0}, {"source": "crm_opportunity_change_stage", "target": "crm_opportunity_guard_terminal_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L680", "weight": 1.0}, {"source": "crm_opportunity_change_stage", "target": "crm_opportunity_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L685", "weight": 1.0}, {"source": "crm_opportunity_change_stage", "target": "crm_opportunity_record_stage_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L689", "weight": 1.0}, {"source": "crm_opportunity_change_stage", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L704", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L750", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L759", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L761", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_record_stage_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L765", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_update_customer_deal_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L779", "weight": 1.0}, {"source": "crm_opportunity_mark_won", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L782", "weight": 1.0}, {"source": "crm_opportunity_mark_lost", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L805", "weight": 1.0}, {"source": "crm_opportunity_mark_lost", "target": "crm_opportunity_record_stage_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L818", "weight": 1.0}, {"source": "crm_opportunity_mark_lost", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L836", "weight": 1.0}, {"source": "crm_opportunity_batch_update_stage", "target": "crm_opportunity_change_stage", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L855", "weight": 1.0}, {"source": "crm_opportunity_batch_update_expect_date", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L902", "weight": 1.0}, {"source": "crm_opportunity_batch_update_expect_date", "target": "crm_opportunity_guard_terminal_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L903", "weight": 1.0}, {"source": "crm_opportunity_batch_update_expect_date", "target": "crm_opportunity_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L909", "weight": 1.0}, {"source": "crm_opportunity_get_stage_log_list", "target": "crm_opportunity_ensure_opportunity_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L961", "weight": 1.0}, {"source": "crm_opportunity_get_stage_log_list", "target": "crm_opportunity_stage_log_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L970", "weight": 1.0}, {"source": "crm_opportunity_get_stage_log_list", "target": "crm_opportunity_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L973", "weight": 1.0}, {"source": "crm_opportunity_get_statistics_overview", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L986", "weight": 1.0}, {"source": "crm_opportunity_get_statistics_by_stage", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1025", "weight": 1.0}, {"source": "crm_opportunity_get_win_rate_statistics", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1066", "weight": 1.0}, {"source": "crm_opportunity_get_statistics_by_owner", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1109", "weight": 1.0}, {"source": "crm_opportunity_get_kanban_data", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1177", "weight": 1.0}, {"source": "crm_opportunity_get_kanban_data", "target": "crm_opportunity_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1199", "weight": 1.0}, {"source": "crm_opportunity_get_kanban_data", "target": "crm_opportunity_enrich_user_names", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1200", "weight": 1.0}, {"source": "crm_opportunity_get_sales_funnel", "target": "crm_opportunity_scoped_opportunity_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1221", "weight": 1.0}, {"source": "crm_opportunity_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_opportunity_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "crm_opportunity_ensure_opportunity_in_scope", "callee": "ensure_crm_owner_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L60"}, {"caller_nid": "crm_opportunity_scoped_opportunity_query", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L69"}, {"caller_nid": "crm_opportunity_scoped_opportunity_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L69"}, {"caller_nid": "crm_opportunity_scoped_opportunity_query", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L74"}, {"caller_nid": "crm_opportunity_scoped_opportunity_query", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L76"}, {"caller_nid": "crm_opportunity_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L83"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L89"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L89"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L91"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L92"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L93"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L93"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L98"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L98"}, {"caller_nid": "crm_opportunity_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L101"}, {"caller_nid": "crm_opportunity_parse_optional_datetime", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L107"}, {"caller_nid": "crm_opportunity_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L109"}, {"caller_nid": "crm_opportunity_parse_optional_datetime", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L109"}, {"caller_nid": "crm_opportunity_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L114"}, {"caller_nid": "crm_opportunity_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L117"}, {"caller_nid": "crm_opportunity_decimal_value", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L123"}, {"caller_nid": "crm_opportunity_decimal_value", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L123"}, {"caller_nid": "crm_opportunity_stage_default_percent", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L127"}, {"caller_nid": "crm_opportunity_stage_default_percent", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L127"}, {"caller_nid": "crm_opportunity_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L131"}, {"caller_nid": "crm_opportunity_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L134"}, {"caller_nid": "crm_opportunity_resolve_user_display_name", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L134"}, {"caller_nid": "crm_opportunity_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L134"}, {"caller_nid": "crm_opportunity_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L137"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L145"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L148"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L148"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L148"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L149"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L149"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L150"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L154"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L154"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L154"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L155"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L158"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L161"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L161"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L161"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L162"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L162"}, {"caller_nid": "crm_opportunity_enrich_user_names", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L163"}, {"caller_nid": "crm_opportunity_guard_terminal_status", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L168"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L183"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L184"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L185"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L186"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L191"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L192"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L203"}, {"caller_nid": "crm_opportunity_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L205"}, {"caller_nid": "crm_opportunity_stage_log_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L210"}, {"caller_nid": "crm_opportunity_stage_log_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L225"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L249"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L251"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L254"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L255"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L256"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L257"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L261"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L264"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L264"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L265"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L266"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L266"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L267"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "build_opportunity_column_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L269"}, {"caller_nid": "crm_opportunity_apply_list_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L270"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L288"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L302"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L304"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L304"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L304"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L304"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L305"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "min", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L307"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L307"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L309"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L309"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L309"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L309"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L309"}, {"caller_nid": "crm_opportunity_list_opportunities", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L316"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L322"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L322"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L327"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L328"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L337"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L339"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L342"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L342"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L342"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L342"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L347"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L351"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L353"}, {"caller_nid": "crm_opportunity_get_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L353"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L360"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L360"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L362"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L362"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L363"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L367"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L368"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L368"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L368"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L370"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L370"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L372"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L372"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "range", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L375"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L378"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L378"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L378"}, {"caller_nid": "crm_opportunity_generate_opportunity_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L384"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L390"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L393"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L393"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L393"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L398"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L402"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L405"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L405"}, {"caller_nid": "crm_opportunity_fill_customer_contact", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L405"}, {"caller_nid": "crm_opportunity_record_stage_log", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L432"}, {"caller_nid": "crm_opportunity_record_stage_log", "callee": "CrmOpportunityStageLog", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L433"}, {"caller_nid": "crm_opportunity_record_stage_log", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L434"}, {"caller_nid": "crm_opportunity_record_stage_log", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L456"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L466"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L467"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L467"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L468"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L471"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L473"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L473"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L475"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L475"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "CrmOpportunity", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L476"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L477"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L478"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L479"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L480"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L482"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L484"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L484"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L485"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L485"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L486"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L491"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L492"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L493"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L494"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L495"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L497"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L498"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L500"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L507"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L507"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L509"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L510"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L524"}, {"caller_nid": "crm_opportunity_create_opportunity", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L525"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L537"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L537"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L542"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L543"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L545"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L571"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L573"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L573"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L575"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L577"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L583"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L584"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L587"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L587"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L592"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L593"}, {"caller_nid": "crm_opportunity_update_opportunity", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L594"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L605"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L605"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L605"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L607"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L608"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L609"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L609"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L610"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L611"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L612"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L614"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L618"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L622"}, {"caller_nid": "crm_opportunity_soft_delete_opportunities", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L623"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L636"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L636"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L636"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L638"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L639"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L640"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L651"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L652"}, {"caller_nid": "crm_opportunity_assign_opportunities", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L654"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L670"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L670"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L675"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L676"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L678"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L684"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L685"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L685"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L687"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L702"}, {"caller_nid": "crm_opportunity_change_stage", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L703"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L709"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L709"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L709"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L709"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L721"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L721"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L721"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L727"}, {"caller_nid": "crm_opportunity_update_customer_deal_status", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L728"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L741"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L741"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L746"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L747"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L749"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L752"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L758"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L759"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L763"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L780"}, {"caller_nid": "crm_opportunity_mark_won", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L781"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L796"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L796"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L801"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L802"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L804"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L807"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L813"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L816"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L834"}, {"caller_nid": "crm_opportunity_mark_lost", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L835"}, {"caller_nid": "crm_opportunity_batch_update_stage", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L869"}, {"caller_nid": "crm_opportunity_batch_update_stage", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L869"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L893"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L893"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L898"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L899"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L901"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L908"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L912"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L914"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L917"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L917"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L920"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L922"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L925"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L925"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L927"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L931"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L932"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L935"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L937"}, {"caller_nid": "crm_opportunity_batch_update_expect_date", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L937"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L952"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L952"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L957"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L958"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L960"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L963"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L963"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L968"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L969"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L969"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L969"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L972"}, {"caller_nid": "crm_opportunity_get_stage_log_list", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L972"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L988"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L990"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L992"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L993"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L993"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L994"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L994"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L995"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L995"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L996"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L998"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L999"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1000"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1001"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1002"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1005"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1005"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1005"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1005"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1005"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1006"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1011"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1012"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1013"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1014"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1015"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1016"}, {"caller_nid": "crm_opportunity_get_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1017"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1025"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1025"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1025"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1025"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1029"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1029"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1030"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1030"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1030"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1031"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1031"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "avg", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1031"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1036"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1040"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1041"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1042"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "sort", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1046"}, {"caller_nid": "crm_opportunity_get_statistics_by_stage", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1046"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1065"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "date_format", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1065"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1066"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1067"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1070"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1072"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1075"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1075"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1075"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1075"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1077"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1077"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1078"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1078"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1078"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1079"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1079"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1079"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1087"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1088"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "round", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1089"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1090"}, {"caller_nid": "crm_opportunity_get_win_rate_statistics", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1095"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1111"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1113"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1116"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1116"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1116"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1116"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1117"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1118"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1119"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1119"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1120"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1120"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1120"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1123"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1123"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1123"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1124"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1124"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1124"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1125"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1125"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1126"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1126"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1129"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1129"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1130"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1131"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1138"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1138"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1138"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1139"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1139"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "sum", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1140"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "case", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1140"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1148"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1149"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "round", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1151"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1152"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1156"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1157"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1161"}, {"caller_nid": "crm_opportunity_get_statistics_by_owner", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1162"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1177"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1181"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1182"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1183"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1184"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1185"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1186"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1187"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1188"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1189"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1190"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1193"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1193"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1194"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1195"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1201"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1201"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1201"}, {"caller_nid": "crm_opportunity_get_kanban_data", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1204"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "enumerate", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1220"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1223"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1225"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1228"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1230"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1232"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1233"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1234"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1234"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1235"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1238"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1238"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1244"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1245"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1245"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1245"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "round", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1250"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1255"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "round", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1259"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1264"}, {"caller_nid": "crm_opportunity_get_sales_funnel", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py", "source_location": "L1264"}]}
|