4e873c1b60b82ee749d312754d7d8132ea5cf2b08df2db6c87e38ab8b50b250b.json 124 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "label": "quote.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1"}, {"id": "crm_quote_ensure_quote_in_scope", "label": "_ensure_quote_in_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L40"}, {"id": "crm_quote_get_quote_in_scope", "label": "_get_quote_in_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L44"}, {"id": "crm_quote_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L58"}, {"id": "crm_quote_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L64"}, {"id": "crm_quote_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L72"}, {"id": "crm_quote_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L90"}, {"id": "crm_quote_get_field", "label": "_get_field()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L106"}, {"id": "crm_quote_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L113"}, {"id": "crm_quote_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L123"}, {"id": "crm_quote_quote_row_to_dict", "label": "quote_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L174"}, {"id": "crm_quote_build_quote_filters", "label": "_build_quote_filters()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L178"}, {"id": "crm_quote_fill_contract_linked_count", "label": "_fill_contract_linked_count()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L309"}, {"id": "crm_quote_calculate_quote_amount", "label": "calculate_quote_amount()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L331"}, {"id": "crm_quote_resolve_quote_product_ids", "label": "_resolve_quote_product_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L357"}, {"id": "crm_quote_generate_quote_no", "label": "generate_quote_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L378"}, {"id": "crm_quote_generate_quote_title", "label": "generate_quote_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L428"}, {"id": "crm_quote_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L440"}, {"id": "crm_quote_enrich_contact_fields", "label": "_enrich_contact_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L453"}, {"id": "crm_quote_enrich_supplier_name", "label": "_enrich_supplier_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L464"}, {"id": "crm_quote_get_quote", "label": "get_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L472"}, {"id": "crm_quote_get_quote_detail", "label": "get_quote_detail()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L484"}, {"id": "crm_quote_list_quotes", "label": "list_quotes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L529"}, {"id": "crm_quote_create_quote", "label": "create_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L560"}, {"id": "crm_quote_update_quote", "label": "update_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L664"}, {"id": "crm_quote_soft_delete_quotes", "label": "soft_delete_quotes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L791"}, {"id": "crm_quote_submit_quote", "label": "submit_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L818"}, {"id": "crm_quote_save_template", "label": "save_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L862"}, {"id": "crm_quote_get_template", "label": "get_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L880"}, {"id": "crm_quote_generate_pdf", "label": "generate_pdf()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L894"}, {"id": "crm_quote_generate_share", "label": "generate_share()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L914"}, {"id": "crm_quote_view_by_share_code", "label": "view_by_share_code()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L943"}, {"id": "crm_quote_accept_quote", "label": "accept_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L995"}, {"id": "crm_quote_reject_quote", "label": "reject_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1015"}, {"id": "crm_quote_to_contract", "label": "to_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1037"}, {"id": "crm_quote_create_new_version", "label": "create_new_version()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1104"}, {"id": "crm_quote_query_versions", "label": "query_versions()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1184"}, {"id": "crm_quote_withdraw_quote_approval", "label": "withdraw_quote_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1205"}, {"id": "crm_quote_invalid_quote", "label": "invalid_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1232"}, {"id": "crm_quote_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1256"}, {"id": "crm_quote_statistics_status", "label": "statistics_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1315"}, {"id": "crm_quote_period_key", "label": "_period_key()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1348"}, {"id": "crm_quote_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1357"}, {"id": "crm_quote_rationale_1", "label": "CRM \u62a5\u4ef7\u5355 CRUD \u2014 \u5bf9\u7167 CrmQuoteServiceImpl.java\uff08P2 \u5168\u91cf\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1"}, {"id": "crm_quote_rationale_124", "label": "ORM \u2192 camelCase\uff08\u5355\u70b9\u771f\u76f8\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L124"}, {"id": "crm_quote_rationale_185", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L185"}, {"id": "crm_quote_rationale_310", "label": "Java: fillContractLinkedCount", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L310"}, {"id": "crm_quote_rationale_335", "label": "Java: calculateAmount", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L335"}, {"id": "crm_quote_rationale_364", "label": "Java: resolveQuoteProductIds", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L364"}, {"id": "crm_quote_rationale_385", "label": "Java: generateQuoteNo \u2014 {\u4f9b\u65b9\u7f16\u7801}DD-yyyyMMdd + 3\u4f4d\u5e8f\u53f7", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L385"}, {"id": "crm_quote_rationale_799", "label": "Java: deleteWithValidByIds", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L799"}, {"id": "crm_quote_rationale_951", "label": "Java: viewByShareCode", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L951"}, {"id": "crm_quote_rationale_1051", "label": "Java: toContract \u2014 \u8fd4\u56de contractId", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1051"}, {"id": "crm_quote_rationale_1115", "label": "Java: createNewVersion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1115"}, {"id": "crm_quote_rationale_1214", "label": "Java: CrmQuoteServiceImpl.withdrawApproval\uff08\u6821\u9a8c\u521b\u5efa\u4eba\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1214"}, {"id": "crm_quote_rationale_1265", "label": "Java: statisticsOverview", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1265"}, {"id": "crm_quote_rationale_1320", "label": "Java: statisticsStatus", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1320"}, {"id": "crm_quote_rationale_1366", "label": "Java: statisticsTrend", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1366"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "secrets", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_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/quote.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_contact", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_customer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_opportunity", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_quote_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_quote_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_quote_share_log", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_crud_crm_supplier_info", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_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/quote.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "app_services_crm_quote_pdf", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_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/quote.py", "source_location": "L35", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_ensure_quote_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_quote_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L58", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L64", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L72", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L90", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L106", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L113", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L123", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_quote_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L174", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_build_quote_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L178", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_fill_contract_linked_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_calculate_quote_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L331", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_resolve_quote_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L357", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_generate_quote_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L378", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_generate_quote_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L428", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L440", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_enrich_contact_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L453", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_enrich_supplier_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L464", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L472", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_quote_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L484", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_list_quotes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L529", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_create_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L560", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_update_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L664", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_soft_delete_quotes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L791", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_submit_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L818", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L862", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L880", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_generate_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L894", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_generate_share", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L914", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_view_by_share_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L943", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_accept_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L995", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_reject_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1015", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_to_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1037", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_create_new_version", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1104", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_query_versions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1184", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_withdraw_quote_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1205", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_invalid_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1232", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1256", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_statistics_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1315", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1348", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "target": "crm_quote_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1357", "weight": 1.0}, {"source": "crm_quote_get_quote_in_scope", "target": "crm_quote_get_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L51", "weight": 1.0}, {"source": "crm_quote_get_quote_in_scope", "target": "crm_quote_ensure_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L54", "weight": 1.0}, {"source": "crm_quote_quote_row_to_dict", "target": "crm_quote_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L175", "weight": 1.0}, {"source": "crm_quote_build_quote_filters", "target": "crm_quote_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L188", "weight": 1.0}, {"source": "crm_quote_build_quote_filters", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L246", "weight": 1.0}, {"source": "crm_quote_build_quote_filters", "target": "crm_quote_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L252", "weight": 1.0}, {"source": "crm_quote_build_quote_filters", "target": "crm_quote_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L260", "weight": 1.0}, {"source": "crm_quote_calculate_quote_amount", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L344", "weight": 1.0}, {"source": "crm_quote_calculate_quote_amount", "target": "crm_quote_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L344", "weight": 1.0}, {"source": "crm_quote_get_quote_detail", "target": "crm_quote_get_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L492", "weight": 1.0}, {"source": "crm_quote_get_quote_detail", "target": "crm_quote_ensure_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L495", "weight": 1.0}, {"source": "crm_quote_get_quote_detail", "target": "crm_quote_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L497", "weight": 1.0}, {"source": "crm_quote_list_quotes", "target": "crm_quote_build_quote_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L541", "weight": 1.0}, {"source": "crm_quote_list_quotes", "target": "crm_quote_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L548", "weight": 1.0}, {"source": "crm_quote_list_quotes", "target": "crm_quote_fill_contract_linked_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L556", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L569", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L583", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L585", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_generate_quote_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L591", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_generate_quote_title", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L598", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L601", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L617", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_enrich_contact_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L641", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_enrich_supplier_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L642", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_resolve_quote_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L643", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_calculate_quote_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L644", "weight": 1.0}, {"source": "crm_quote_create_quote", "target": "crm_quote_get_quote_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L661", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L675", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L681", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L709", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L715", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L731", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_generate_quote_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L734", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_generate_quote_title", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L738", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_enrich_contact_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L759", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_enrich_supplier_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L760", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_resolve_quote_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L766", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_calculate_quote_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L767", "weight": 1.0}, {"source": "crm_quote_update_quote", "target": "crm_quote_get_quote_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L788", "weight": 1.0}, {"source": "crm_quote_soft_delete_quotes", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L802", "weight": 1.0}, {"source": "crm_quote_submit_quote", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L830", "weight": 1.0}, {"source": "crm_quote_submit_quote", "target": "crm_quote_get_quote_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L851", "weight": 1.0}, {"source": "crm_quote_save_template", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L871", "weight": 1.0}, {"source": "crm_quote_get_template", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L888", "weight": 1.0}, {"source": "crm_quote_generate_pdf", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L902", "weight": 1.0}, {"source": "crm_quote_generate_pdf", "target": "crm_quote_get_quote_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L905", "weight": 1.0}, {"source": "crm_quote_generate_share", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L924", "weight": 1.0}, {"source": "crm_quote_view_by_share_code", "target": "crm_quote_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L990", "weight": 1.0}, {"source": "crm_quote_accept_quote", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1004", "weight": 1.0}, {"source": "crm_quote_reject_quote", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1025", "weight": 1.0}, {"source": "crm_quote_to_contract", "target": "crm_quote_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1052", "weight": 1.0}, {"source": "crm_quote_to_contract", "target": "crm_quote_get_quote", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1056", "weight": 1.0}, {"source": "crm_quote_create_new_version", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1116", "weight": 1.0}, {"source": "crm_quote_create_new_version", "target": "crm_quote_calculate_quote_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1165", "weight": 1.0}, {"source": "crm_quote_query_versions", "target": "crm_quote_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1202", "weight": 1.0}, {"source": "crm_quote_withdraw_quote_approval", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1215", "weight": 1.0}, {"source": "crm_quote_invalid_quote", "target": "crm_quote_get_quote_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1241", "weight": 1.0}, {"source": "crm_quote_statistics_overview", "target": "crm_quote_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1269", "weight": 1.0}, {"source": "crm_quote_statistics_overview", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1290", "weight": 1.0}, {"source": "crm_quote_statistics_status", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1334", "weight": 1.0}, {"source": "crm_quote_statistics_trend", "target": "crm_quote_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1368", "weight": 1.0}, {"source": "crm_quote_statistics_trend", "target": "crm_quote_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1386", "weight": 1.0}, {"source": "crm_quote_statistics_trend", "target": "crm_quote_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1393", "weight": 1.0}, {"source": "crm_quote_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_quote_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1", "weight": 1.0}, {"source": "crm_quote_rationale_124", "target": "crm_quote_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L124", "weight": 1.0}, {"source": "crm_quote_rationale_185", "target": "crm_quote_build_quote_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L185", "weight": 1.0}, {"source": "crm_quote_rationale_310", "target": "crm_quote_fill_contract_linked_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L310", "weight": 1.0}, {"source": "crm_quote_rationale_335", "target": "crm_quote_calculate_quote_amount", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L335", "weight": 1.0}, {"source": "crm_quote_rationale_364", "target": "crm_quote_resolve_quote_product_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L364", "weight": 1.0}, {"source": "crm_quote_rationale_385", "target": "crm_quote_generate_quote_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L385", "weight": 1.0}, {"source": "crm_quote_rationale_799", "target": "crm_quote_soft_delete_quotes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L799", "weight": 1.0}, {"source": "crm_quote_rationale_951", "target": "crm_quote_view_by_share_code", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L951", "weight": 1.0}, {"source": "crm_quote_rationale_1051", "target": "crm_quote_to_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1051", "weight": 1.0}, {"source": "crm_quote_rationale_1115", "target": "crm_quote_create_new_version", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1115", "weight": 1.0}, {"source": "crm_quote_rationale_1214", "target": "crm_quote_withdraw_quote_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1214", "weight": 1.0}, {"source": "crm_quote_rationale_1265", "target": "crm_quote_statistics_overview", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1265", "weight": 1.0}, {"source": "crm_quote_rationale_1320", "target": "crm_quote_statistics_status", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1320", "weight": 1.0}, {"source": "crm_quote_rationale_1366", "target": "crm_quote_statistics_trend", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1366", "weight": 1.0}], "raw_calls": [{"caller_nid": "crm_quote_ensure_quote_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/quote.py", "source_location": "L41"}, {"caller_nid": "crm_quote_get_quote_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L53"}, {"caller_nid": "crm_quote_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L61"}, {"caller_nid": "crm_quote_decimal_value", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L67"}, {"caller_nid": "crm_quote_decimal_value", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L69"}, {"caller_nid": "crm_quote_decimal_value", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L69"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L75"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L75"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L77"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L78"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L79"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L79"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L84"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L84"}, {"caller_nid": "crm_quote_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L87"}, {"caller_nid": "crm_quote_parse_optional_datetime", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L93"}, {"caller_nid": "crm_quote_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L95"}, {"caller_nid": "crm_quote_parse_optional_datetime", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L95"}, {"caller_nid": "crm_quote_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L100"}, {"caller_nid": "crm_quote_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L103"}, {"caller_nid": "crm_quote_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L114"}, {"caller_nid": "crm_quote_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L117"}, {"caller_nid": "crm_quote_resolve_user_display_name", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L117"}, {"caller_nid": "crm_quote_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L117"}, {"caller_nid": "crm_quote_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L120"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L140"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L141"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L142"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L143"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L145"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L146"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L154"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L156"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L164"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L168"}, {"caller_nid": "crm_quote_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L169"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L186"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L188"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L190"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L190"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L192"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L193"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L194"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L197"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L198"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L199"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L200"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L204"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L205"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L206"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L207"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L212"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L212"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L214"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L214"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L216"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L218"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L220"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L222"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L224"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L226"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L228"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L230"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L232"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L234"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L236"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L238"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L242"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L242"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L246"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L250"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L254"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L258"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L263"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L265"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L267"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L269"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L274"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "aliased", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L275"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "aliased", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L276"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L277"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "where", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L278"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "exists", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L278"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "where", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L283"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "exists", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L283"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L292"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L294"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L295"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L296"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L296"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L296"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L299"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L306"}, {"caller_nid": "crm_quote_build_quote_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L306"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L311"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L311"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L311"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L311"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "discard", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L312"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L316"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L316"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L316"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L318"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L323"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L328"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L328"}, {"caller_nid": "crm_quote_fill_contract_linked_count", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L328"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L337"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L338"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L339"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L342"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L346"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L347"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L347"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L351"}, {"caller_nid": "crm_quote_calculate_quote_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L352"}, {"caller_nid": "crm_quote_resolve_quote_product_ids", "callee": "resolve_product_id_for_quote_item", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L368"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L388"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L389"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L390"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L392"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L393"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L397"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L397"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L397"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L397"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L401"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L404"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L409"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L409"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L411"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L411"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "range", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L415"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L418"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L418"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L418"}, {"caller_nid": "crm_quote_generate_quote_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L425"}, {"caller_nid": "crm_quote_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L443"}, {"caller_nid": "crm_quote_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L446"}, {"caller_nid": "crm_quote_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L447"}, {"caller_nid": "crm_quote_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L448"}, {"caller_nid": "crm_quote_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L449"}, {"caller_nid": "crm_quote_enrich_contact_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L456"}, {"caller_nid": "crm_quote_enrich_supplier_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L467"}, {"caller_nid": "crm_quote_get_quote", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L478"}, {"caller_nid": "crm_quote_get_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L478"}, {"caller_nid": "crm_quote_get_quote", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L480"}, {"caller_nid": "crm_quote_get_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L481"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L494"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L498"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get_opportunity", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L501"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L503"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L505"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L505"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L506"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L508"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L510"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L513"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L514"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L514"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L514"}, {"caller_nid": "crm_quote_get_quote_detail", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L519"}, {"caller_nid": "crm_quote_list_quotes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L540"}, {"caller_nid": "crm_quote_list_quotes", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L543"}, {"caller_nid": "crm_quote_list_quotes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L544"}, {"caller_nid": "crm_quote_list_quotes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L544"}, {"caller_nid": "crm_quote_list_quotes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L544"}, {"caller_nid": "crm_quote_list_quotes", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L544"}, {"caller_nid": "crm_quote_list_quotes", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L545"}, {"caller_nid": "crm_quote_list_quotes", "callee": "min", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L546"}, {"caller_nid": "crm_quote_list_quotes", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L546"}, {"caller_nid": "crm_quote_list_quotes", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L547"}, {"caller_nid": "crm_quote_list_quotes", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L547"}, {"caller_nid": "crm_quote_list_quotes", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L547"}, {"caller_nid": "crm_quote_list_quotes", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L551"}, {"caller_nid": "crm_quote_list_quotes", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L552"}, {"caller_nid": "crm_quote_list_quotes", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L557"}, {"caller_nid": "crm_quote_create_quote", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L570"}, {"caller_nid": "crm_quote_create_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L571"}, {"caller_nid": "crm_quote_create_quote", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L572"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L574"}, {"caller_nid": "crm_quote_create_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L576"}, {"caller_nid": "crm_quote_create_quote", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L578"}, {"caller_nid": "crm_quote_create_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L580"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L582"}, {"caller_nid": "crm_quote_create_quote", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L585"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L586"}, {"caller_nid": "crm_quote_create_quote", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L587"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L589"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L596"}, {"caller_nid": "crm_quote_create_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L600"}, {"caller_nid": "crm_quote_create_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L603"}, {"caller_nid": "crm_quote_create_quote", "callee": "CrmQuote", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L604"}, {"caller_nid": "crm_quote_create_quote", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L605"}, {"caller_nid": "crm_quote_create_quote", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L616"}, {"caller_nid": "crm_quote_create_quote", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L617"}, {"caller_nid": "crm_quote_create_quote", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L620"}, {"caller_nid": "crm_quote_create_quote", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L628"}, {"caller_nid": "crm_quote_create_quote", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L646"}, {"caller_nid": "crm_quote_create_quote", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L647"}, {"caller_nid": "crm_quote_create_quote", "callee": "batch_insert_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L650"}, {"caller_nid": "crm_quote_create_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L659"}, {"caller_nid": "crm_quote_create_quote", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L660"}, {"caller_nid": "crm_quote_update_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L677"}, {"caller_nid": "crm_quote_update_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L679"}, {"caller_nid": "crm_quote_update_quote", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L682"}, {"caller_nid": "crm_quote_update_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L684"}, {"caller_nid": "crm_quote_update_quote", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L706"}, {"caller_nid": "crm_quote_update_quote", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L711"}, {"caller_nid": "crm_quote_update_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L721"}, {"caller_nid": "crm_quote_update_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L724"}, {"caller_nid": "crm_quote_update_quote", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L730"}, {"caller_nid": "crm_quote_update_quote", "callee": "index", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L742"}, {"caller_nid": "crm_quote_update_quote", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L746"}, {"caller_nid": "crm_quote_update_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L747"}, {"caller_nid": "crm_quote_update_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L748"}, {"caller_nid": "crm_quote_update_quote", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L757"}, {"caller_nid": "crm_quote_update_quote", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L757"}, {"caller_nid": "crm_quote_update_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L769"}, {"caller_nid": "crm_quote_update_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L772"}, {"caller_nid": "crm_quote_update_quote", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L773"}, {"caller_nid": "crm_quote_update_quote", "callee": "delete_products_by_quote_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L776"}, {"caller_nid": "crm_quote_update_quote", "callee": "batch_insert_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L778"}, {"caller_nid": "crm_quote_update_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L787"}, {"caller_nid": "crm_quote_soft_delete_quotes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L807"}, {"caller_nid": "crm_quote_soft_delete_quotes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L809"}, {"caller_nid": "crm_quote_soft_delete_quotes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L810"}, {"caller_nid": "crm_quote_soft_delete_quotes", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L812"}, {"caller_nid": "crm_quote_soft_delete_quotes", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L814"}, {"caller_nid": "crm_quote_submit_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L832"}, {"caller_nid": "crm_quote_submit_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L834"}, {"caller_nid": "crm_quote_submit_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L837"}, {"caller_nid": "crm_quote_submit_quote", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L838"}, {"caller_nid": "crm_quote_submit_quote", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L841"}, {"caller_nid": "crm_quote_submit_quote", "callee": "generate_quote_pdf", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L852"}, {"caller_nid": "crm_quote_submit_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L852"}, {"caller_nid": "crm_quote_submit_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L858"}, {"caller_nid": "crm_quote_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L873"}, {"caller_nid": "crm_quote_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L875"}, {"caller_nid": "crm_quote_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L876"}, {"caller_nid": "crm_quote_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L890"}, {"caller_nid": "crm_quote_generate_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L904"}, {"caller_nid": "crm_quote_generate_pdf", "callee": "generate_quote_pdf", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L906"}, {"caller_nid": "crm_quote_generate_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L906"}, {"caller_nid": "crm_quote_generate_pdf", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L909"}, {"caller_nid": "crm_quote_generate_pdf", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L910"}, {"caller_nid": "crm_quote_generate_share", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L926"}, {"caller_nid": "crm_quote_generate_share", "callee": "token_hex", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L928"}, {"caller_nid": "crm_quote_generate_share", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L931"}, {"caller_nid": "crm_quote_generate_share", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L931"}, {"caller_nid": "crm_quote_generate_share", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L938"}, {"caller_nid": "crm_quote_generate_share", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L939"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L953"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L953"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L953"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L958"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L960"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L961"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L963"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L965"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L967"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L971"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L974"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L975"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "record_visit", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L978"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L989"}, {"caller_nid": "crm_quote_view_by_share_code", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L991"}, {"caller_nid": "crm_quote_accept_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1006"}, {"caller_nid": "crm_quote_accept_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1010"}, {"caller_nid": "crm_quote_accept_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1011"}, {"caller_nid": "crm_quote_reject_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1027"}, {"caller_nid": "crm_quote_reject_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1032"}, {"caller_nid": "crm_quote_reject_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1033"}, {"caller_nid": "crm_quote_to_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1058"}, {"caller_nid": "crm_quote_to_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1060"}, {"caller_nid": "crm_quote_to_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1062"}, {"caller_nid": "crm_quote_to_contract", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1064"}, {"caller_nid": "crm_quote_to_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1066"}, {"caller_nid": "crm_quote_to_contract", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1074"}, {"caller_nid": "crm_quote_to_contract", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1085"}, {"caller_nid": "crm_quote_to_contract", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1087"}, {"caller_nid": "crm_quote_to_contract", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1089"}, {"caller_nid": "crm_quote_to_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1091"}, {"caller_nid": "crm_quote_to_contract", "callee": "create_from_quote", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1094"}, {"caller_nid": "crm_quote_create_new_version", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1118"}, {"caller_nid": "crm_quote_create_new_version", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1121"}, {"caller_nid": "crm_quote_create_new_version", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1122"}, {"caller_nid": "crm_quote_create_new_version", "callee": "CrmQuote", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1124"}, {"caller_nid": "crm_quote_create_new_version", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1125"}, {"caller_nid": "crm_quote_create_new_version", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1142"}, {"caller_nid": "crm_quote_create_new_version", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1164"}, {"caller_nid": "crm_quote_create_new_version", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1167"}, {"caller_nid": "crm_quote_create_new_version", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1168"}, {"caller_nid": "crm_quote_create_new_version", "callee": "batch_insert_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1171"}, {"caller_nid": "crm_quote_create_new_version", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1180"}, {"caller_nid": "crm_quote_query_versions", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1193"}, {"caller_nid": "crm_quote_query_versions", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1193"}, {"caller_nid": "crm_quote_query_versions", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1193"}, {"caller_nid": "crm_quote_query_versions", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1193"}, {"caller_nid": "crm_quote_query_versions", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1199"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1217"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1219"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1221"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1224"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1227"}, {"caller_nid": "crm_quote_withdraw_quote_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1228"}, {"caller_nid": "crm_quote_invalid_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1243"}, {"caller_nid": "crm_quote_invalid_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1245"}, {"caller_nid": "crm_quote_invalid_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1250"}, {"caller_nid": "crm_quote_invalid_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1251"}, {"caller_nid": "crm_quote_invalid_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1252"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1266"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1266"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1268"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1272"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1274"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1276"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1278"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1279"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "_count_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1284"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "_count_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1285"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "_count_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1286"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "_count_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1287"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "_count_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1288"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1290"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1291"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1296"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1296"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1296"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1298"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1308"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1309"}, {"caller_nid": "crm_quote_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1311"}, {"caller_nid": "crm_quote_statistics_status", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1324"}, {"caller_nid": "crm_quote_statistics_status", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1324"}, {"caller_nid": "crm_quote_statistics_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1326"}, {"caller_nid": "crm_quote_statistics_status", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1327"}, {"caller_nid": "crm_quote_statistics_status", "callee": "zip", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1330"}, {"caller_nid": "crm_quote_statistics_status", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1331"}, {"caller_nid": "crm_quote_statistics_status", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1332"}, {"caller_nid": "crm_quote_statistics_status", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1333"}, {"caller_nid": "crm_quote_statistics_status", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1334"}, {"caller_nid": "crm_quote_statistics_status", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1336"}, {"caller_nid": "crm_quote_statistics_status", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1341"}, {"caller_nid": "crm_quote_period_key", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1349"}, {"caller_nid": "crm_quote_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1350"}, {"caller_nid": "crm_quote_period_key", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1351"}, {"caller_nid": "crm_quote_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1354"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1367"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1367"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1371"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1373"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1375"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1377"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1381"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1383"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1385"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1385"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1386"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1389"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1390"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1393"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1394"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1399"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1400"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1403"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1405"}, {"caller_nid": "crm_quote_statistics_trend", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py", "source_location": "L1406"}]}