76c072fd29fc3091d5dc2553c2c8d22c2c65d88befb648902bf2b68284696c15.json 281 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1"}, {"id": "crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L53"}, {"id": "crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L57"}, {"id": "crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L74"}, {"id": "crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L80"}, {"id": "crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88"}, {"id": "crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106"}, {"id": "crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L122"}, {"id": "crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L129"}, {"id": "crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L139"}, {"id": "crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L143"}, {"id": "crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151"}, {"id": "crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161"}, {"id": "crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L173"}, {"id": "crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L252"}, {"id": "crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L256"}, {"id": "crm_contract_list_contracts", "label": "list_contracts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L451"}, {"id": "crm_contract_get_contract", "label": "get_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L492"}, {"id": "crm_contract_get_contract_detail", "label": "get_contract_detail()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L606"}, {"id": "crm_contract_get_contract_row", "label": "get_contract_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L626"}, {"id": "crm_contract_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L643"}, {"id": "crm_contract_build_contract_name_from_parties", "label": "_build_contract_name_from_parties()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L656"}, {"id": "crm_contract_generate_contract_no", "label": "generate_contract_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L702"}, {"id": "crm_contract_contract_no_exists", "label": "contract_no_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L749"}, {"id": "crm_contract_replace_contract_no_date", "label": "replace_contract_no_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L769"}, {"id": "crm_contract_align_contract_no_to_sign_date", "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L781"}, {"id": "crm_contract_resolve_party_short_name", "label": "resolve_party_short_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814"}, {"id": "crm_contract_strip_contract_name_no_suffix", "label": "_strip_contract_name_no_suffix()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L848"}, {"id": "crm_contract_auto_contract_name_body", "label": "_auto_contract_name_body()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L852"}, {"id": "crm_contract_user_contract_name_uses_party_full_name", "label": "_user_contract_name_uses_party_full_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L881"}, {"id": "crm_contract_generate_contract_name", "label": "generate_contract_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L905"}, {"id": "crm_contract_is_framework_contract_type", "label": "is_framework_contract_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L977"}, {"id": "crm_contract_validate_contract_type_and_products", "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L981"}, {"id": "crm_contract_normalize_framework_contract_data", "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L989"}, {"id": "crm_contract_validate_product_prices_by_contract_type", "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1010"}, {"id": "crm_contract_validate_sale_purchase_contract_amount", "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1024"}, {"id": "crm_contract_resolve_contract_product_ids", "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1033"}, {"id": "crm_contract_calc_amount_with_tax", "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1051"}, {"id": "crm_contract_apply_contract_entity_fields", "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1057"}, {"id": "crm_contract_create_contract", "label": "create_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1237"}, {"id": "crm_contract_assert_contract_editable_for_update", "label": "assert_contract_editable_for_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1350"}, {"id": "crm_contract_update_contract", "label": "update_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1356"}, {"id": "crm_contract_soft_delete_contracts", "label": "soft_delete_contracts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1468"}, {"id": "crm_contract_validate_framework_contract_for_submit_approval", "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1492"}, {"id": "crm_contract_submit_contract_approval", "label": "submit_contract_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1511"}, {"id": "crm_contract_batch_submit_contract_approval", "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556"}, {"id": "crm_contract_withdraw_contract_approval", "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1586"}, {"id": "crm_contract_start_execute", "label": "start_execute()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1613"}, {"id": "crm_contract_finish_contract", "label": "finish_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1636"}, {"id": "crm_contract_invalid_contract", "label": "invalid_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1659"}, {"id": "crm_contract_save_template", "label": "save_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1687"}, {"id": "crm_contract_get_template", "label": "get_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715"}, {"id": "crm_contract_upload_file", "label": "upload_file()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1728"}, {"id": "crm_contract_upload_attachments", "label": "upload_attachments()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1745"}, {"id": "crm_contract_upload_attachments_with_category", "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1770"}, {"id": "crm_contract_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1801"}, {"id": "crm_contract_statistics_by_status", "label": "statistics_by_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1864"}, {"id": "crm_contract_statistics_by_type", "label": "statistics_by_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1898"}, {"id": "crm_contract_contract_period_key", "label": "_contract_period_key()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1935"}, {"id": "crm_contract_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1944"}, {"id": "crm_contract_query_expiring", "label": "query_expiring()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1990"}, {"id": "crm_contract_quote_products_to_contract_products", "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2017"}, {"id": "crm_contract_create_from_quote", "label": "create_from_quote()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2048"}, {"id": "crm_contract_renew_contract", "label": "renew_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2111"}, {"id": "crm_contract_export_contracts", "label": "export_contracts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2165"}, {"id": "crm_contract_change_row_to_dict", "label": "_change_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2182"}, {"id": "crm_contract_list_contract_changes", "label": "list_contract_changes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2204"}, {"id": "crm_contract_get_contract_change_detail", "label": "get_contract_change_detail()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2251"}, {"id": "crm_contract_template_row_to_dict", "label": "_template_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2275"}, {"id": "crm_contract_list_contract_templates", "label": "list_contract_templates()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2301"}, {"id": "crm_contract_get_contract_template_detail", "label": "get_contract_template_detail()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2344"}, {"id": "crm_contract_opportunity_products_to_contract_products", "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2364"}, {"id": "crm_contract_create_from_opportunity", "label": "create_from_opportunity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2389"}, {"id": "crm_contract_sign_contract", "label": "sign_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2442"}, {"id": "crm_contract_batch_assign_owner", "label": "batch_assign_owner()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2473"}, {"id": "crm_contract_download_contract_pdf", "label": "download_contract_pdf()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2507"}, {"id": "crm_contract_generate_template_no", "label": "generate_template_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2524"}, {"id": "crm_contract_get_change_row", "label": "_get_change_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2556"}, {"id": "crm_contract_enrich_change_rows", "label": "_enrich_change_rows()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2568"}, {"id": "crm_contract_create_contract_change", "label": "create_contract_change()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2583"}, {"id": "crm_contract_update_contract_change", "label": "update_contract_change()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2634"}, {"id": "crm_contract_soft_delete_contract_changes", "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2672"}, {"id": "crm_contract_submit_change_approval", "label": "submit_change_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2698"}, {"id": "crm_contract_withdraw_change", "label": "withdraw_change()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2721"}, {"id": "crm_contract_execute_change", "label": "execute_change()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2734"}, {"id": "crm_contract_export_contract_changes", "label": "export_contract_changes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2746"}, {"id": "crm_contract_create_contract_template", "label": "create_contract_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2762"}, {"id": "crm_contract_update_contract_template", "label": "update_contract_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2812"}, {"id": "crm_contract_soft_delete_contract_templates", "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2869"}, {"id": "crm_contract_toggle_contract_template_active", "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2903"}, {"id": "crm_contract_export_contract_templates", "label": "export_contract_templates()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2929"}, {"id": "crm_contract_rationale_1", "label": "CRM \u5408\u540c CRUD \u2014 \u5bf9\u7167 CrmContractServiceImpl.java\uff08\u5217\u8868/\u8be6\u60c5 P1\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1"}, {"id": "crm_contract_rationale_174", "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/contract.py", "source_location": "L174"}, {"id": "crm_contract_rationale_263", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L263"}, {"id": "crm_contract_rationale_669", "label": "\u6839\u636e\u4f9b\u9700\u65b9\u9762\u677f\u4e0e\u4e3b\u6570\u636e\u751f\u6210/\u6821\u6b63\u5408\u540c\u540d\u79f0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L669"}, {"id": "crm_contract_rationale_709", "label": "Java: generateContractNo \u2014 {\u4f9b\u65b9\u7f16\u7801}/X-JT{yyyyMMdd}{3\u4f4d\u5e8f\u53f7} \u6d41\u6c34\u4e0e\u649e\u53f7\u68c0\u6d4b\u987b\u542b\u8f6f\u5220\uff1auk_contr", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L709"}, {"id": "crm_contract_rationale_756", "label": "\u79df\u6237\u5185\u5408\u540c\u7f16\u53f7\u662f\u5426\u5df2\u5360\u7528\uff08\u542b\u8f6f\u5220\uff0c\u4fdd\u8bc1\u5168\u5c40\u552f\u4e00\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L756"}, {"id": "crm_contract_rationale_770", "label": "\u6807\u51c6\u7f16\u53f7\u66ff\u6362\u65e5\u671f\u6bb5\uff0c\u4fdd\u7559\u5e8f\u53f7\uff1b\u975e\u6807\u51c6\u8fd4\u56de None\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L770"}, {"id": "crm_contract_rationale_789", "label": "\u5c06\u6807\u51c6\u5408\u540c\u7f16\u53f7\u65e5\u671f\u6bb5\u5bf9\u9f50\u7b7e\u8ba2\u65e5\uff1b\u649e\u53f7\u5219\u5e8f\u53f7\u987a\u5ef6\uff08\u542b\u8f6f\u5220\u67e5\u91cd\uff09\u3002 \u975e\u6807\u51c6\u7f16\u53f7\u539f\u6837\u8fd4\u56de\u3002\u65e0\u7b7e\u8ba2\u65e5\u5219\u539f\u6837\u8fd4\u56de\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L789"}, {"id": "crm_contract_rationale_823", "label": "\u6309\u9762\u677f\u5355\u4f4d\u5168\u79f0\u7cbe\u786e\u5339\u914d\u4ea4\u6613\u4e3b\u4f53/\u5ba2\u6237\u4e3b\u6570\u636e\uff0c\u53d6 shortName\uff1b\u5bf9\u4e0d\u4e0a\u5219\u7528\u5168\u79f0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L823"}, {"id": "crm_contract_rationale_890", "label": "\u524d\u7aef\u9884\u89c8\u8bef\u7528\u5355\u4f4d\u5168\u79f0\u65f6\uff0c\u540d\u79f0\u7247\u6bb5\u4f1a\u7b49\u4e8e\u9762\u677f/\u5ba2\u6237/\u5f00\u7968\u5168\u79f0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L890"}, {"id": "crm_contract_rationale_918", "label": "\u6309\u9762\u677f\u4f9b\u65b9(partyA)-\u9700\u65b9(partyB)\u751f\u6210\uff1a{\u4f9b\u65b9\u7b80\u79f0}-{\u9700\u65b9\u7b80\u79f0}\uff08{\u5408\u540c\u7f16\u53f7}\uff09\u3002 - \u540d\u79f0\u4e3a\u7a7a\uff1a\u6309\u4e3b\u6570\u636e\u7b80\u79f0\u81ea\u52a8\u751f\u6210 - \u540d", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L918"}, {"id": "crm_contract_rationale_1476", "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1476"}, {"id": "crm_contract_rationale_1499", "label": "\u6846\u67b6\u5408\u540c\u63d0\u4ea4\u5ba1\u6279\u6821\u9a8c\uff1a\u4ec5\u8981\u6c42\u6709\u4ea7\u54c1\u660e\u7ec6\uff1b\u8c03\u4ef7\u533a\u95f4\u4e3a\u53ef\u9009\uff0c\u4e0d\u5f3a\u5236\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1499"}, {"id": "crm_contract_rationale_1567", "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1567"}, {"id": "crm_contract_rationale_1595", "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1595"}, {"id": "crm_contract_rationale_1778", "label": "\u6309\u5165\u53c2\u6574\u8868\u8986\u76d6\u5408\u540c\u626b\u63cf\u4ef6\uff1battachments=[] \u8868\u793a\u6e05\u7a7a\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1778"}, {"id": "crm_contract_rationale_2058", "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2058"}, {"id": "crm_contract_rationale_2121", "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2121"}, {"id": "crm_contract_rationale_2172", "label": "Java: queryList for export", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2172"}, {"id": "crm_contract_rationale_2399", "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2399"}, {"id": "crm_contract_rationale_2483", "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2483"}, {"id": "crm_contract_rationale_2514", "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2514"}, {"id": "crm_contract_rationale_2525", "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2525"}, {"id": "crm_contract_rationale_2707", "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2707"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contract_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contract_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_invoice_info", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_services_crm_settlement_clause", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_services_crm_supplier_hazard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L35", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L36", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L37", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_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/contract.py", "source_location": "L39", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L49", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_ensure_contract_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L53", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract_row_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L74", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L122", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L129", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_is_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L139", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_first_non_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L143", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_default_invoice_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_build_customer_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L173", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L252", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_build_contract_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L256", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_list_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L451", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L492", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L606", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L626", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L643", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_build_contract_name_from_parties", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L656", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_generate_contract_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_contract_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L749", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_replace_contract_no_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L769", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_align_contract_no_to_sign_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L781", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_resolve_party_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_strip_contract_name_no_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L848", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_auto_contract_name_body", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L852", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_user_contract_name_uses_party_full_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_generate_contract_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L905", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_is_framework_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L977", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_validate_contract_type_and_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L981", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_normalize_framework_contract_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L989", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_validate_product_prices_by_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1010", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_validate_sale_purchase_contract_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1024", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_resolve_contract_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1033", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_calc_amount_with_tax", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1051", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_apply_contract_entity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1057", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_create_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1237", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_assert_contract_editable_for_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1350", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_update_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1356", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_soft_delete_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1468", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_validate_framework_contract_for_submit_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1492", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1511", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_batch_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_withdraw_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1586", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_start_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1613", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_finish_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1636", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_invalid_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1659", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1687", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_upload_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1728", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_upload_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1745", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_upload_attachments_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1770", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1801", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_statistics_by_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1864", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_statistics_by_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1898", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_contract_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1935", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1944", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_query_expiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1990", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_quote_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2017", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_create_from_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2048", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_renew_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2111", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_export_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2165", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_change_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2182", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_list_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2204", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract_change_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2251", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_template_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2275", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_list_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2301", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_contract_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2344", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_opportunity_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2364", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_create_from_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2389", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_sign_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2442", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_batch_assign_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2473", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_download_contract_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2507", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_generate_template_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2524", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_get_change_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2556", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_enrich_change_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2568", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_create_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2583", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_update_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2634", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_soft_delete_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2672", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_submit_change_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2698", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_withdraw_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2721", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_execute_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2734", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_export_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2746", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_create_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2762", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_update_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2812", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_soft_delete_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2869", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_toggle_contract_template_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2903", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "crm_contract_export_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2929", "weight": 1.0}, {"source": "crm_contract_get_contract_row_in_scope", "target": "crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L64", "weight": 1.0}, {"source": "crm_contract_get_contract_row_in_scope", "target": "crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L67", "weight": 1.0}, {"source": "crm_contract_build_customer_address", "target": "crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165", "weight": 1.0}, {"source": "crm_contract_contract_row_to_dict", "target": "crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L253", "weight": 1.0}, {"source": "crm_contract_build_contract_filters", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L268", "weight": 1.0}, {"source": "crm_contract_list_contracts", "target": "crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L464", "weight": 1.0}, {"source": "crm_contract_list_contracts", "target": "crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L471", "weight": 1.0}, {"source": "crm_contract_list_contracts", "target": "crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L479", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L512", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L514", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L515", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L534", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L535", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L550", "weight": 1.0}, {"source": "crm_contract_get_contract", "target": "crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L559", "weight": 1.0}, {"source": "crm_contract_get_contract_detail", "target": "crm_contract_get_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L614", "weight": 1.0}, {"source": "crm_contract_build_contract_name_from_parties", "target": "crm_contract_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L672", "weight": 1.0}, {"source": "crm_contract_build_contract_name_from_parties", "target": "crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L685", "weight": 1.0}, {"source": "crm_contract_build_contract_name_from_parties", "target": "crm_contract_generate_contract_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L689", "weight": 1.0}, {"source": "crm_contract_generate_contract_no", "target": "crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L743", "weight": 1.0}, {"source": "crm_contract_align_contract_no_to_sign_date", "target": "crm_contract_replace_contract_no_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L798", "weight": 1.0}, {"source": "crm_contract_align_contract_no_to_sign_date", "target": "crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L809", "weight": 1.0}, {"source": "crm_contract_auto_contract_name_body", "target": "crm_contract_resolve_party_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L862", "weight": 1.0}, {"source": "crm_contract_generate_contract_name", "target": "crm_contract_auto_contract_name_body", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L924", "weight": 1.0}, {"source": "crm_contract_generate_contract_name", "target": "crm_contract_strip_contract_name_no_suffix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L945", "weight": 1.0}, {"source": "crm_contract_generate_contract_name", "target": "crm_contract_user_contract_name_uses_party_full_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L957", "weight": 1.0}, {"source": "crm_contract_validate_contract_type_and_products", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L982", "weight": 1.0}, {"source": "crm_contract_validate_contract_type_and_products", "target": "crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L983", "weight": 1.0}, {"source": "crm_contract_normalize_framework_contract_data", "target": "crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L990", "weight": 1.0}, {"source": "crm_contract_normalize_framework_contract_data", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L990", "weight": 1.0}, {"source": "crm_contract_validate_product_prices_by_contract_type", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1011", "weight": 1.0}, {"source": "crm_contract_validate_product_prices_by_contract_type", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1016", "weight": 1.0}, {"source": "crm_contract_validate_sale_purchase_contract_amount", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1025", "weight": 1.0}, {"source": "crm_contract_validate_sale_purchase_contract_amount", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1028", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1112", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1117", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_calc_amount_with_tax", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1123", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1137", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1171", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1180", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1181", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1196", "weight": 1.0}, {"source": "crm_contract_apply_contract_entity_fields", "target": "crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1205", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1246", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1251", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1252", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1253", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1254", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1270", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_generate_contract_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1274", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1276", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1277", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1290", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1306", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1310", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1322", "weight": 1.0}, {"source": "crm_contract_create_contract", "target": "crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1339", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1367", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_assert_contract_editable_for_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1371", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1373", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1379", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1380", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1381", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1382", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1390", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1411", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1418", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1426", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1435", "weight": 1.0}, {"source": "crm_contract_update_contract", "target": "crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1465", "weight": 1.0}, {"source": "crm_contract_soft_delete_contracts", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1479", "weight": 1.0}, {"source": "crm_contract_validate_framework_contract_for_submit_approval", "target": "crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1500", "weight": 1.0}, {"source": "crm_contract_validate_framework_contract_for_submit_approval", "target": "crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1503", "weight": 1.0}, {"source": "crm_contract_submit_contract_approval", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1523", "weight": 1.0}, {"source": "crm_contract_submit_contract_approval", "target": "crm_contract_validate_framework_contract_for_submit_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1529", "weight": 1.0}, {"source": "crm_contract_batch_submit_contract_approval", "target": "crm_contract_submit_contract_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1571", "weight": 1.0}, {"source": "crm_contract_withdraw_contract_approval", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1596", "weight": 1.0}, {"source": "crm_contract_start_execute", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1622", "weight": 1.0}, {"source": "crm_contract_finish_contract", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1645", "weight": 1.0}, {"source": "crm_contract_invalid_contract", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1671", "weight": 1.0}, {"source": "crm_contract_save_template", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1696", "weight": 1.0}, {"source": "crm_contract_get_template", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1722", "weight": 1.0}, {"source": "crm_contract_upload_file", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1736", "weight": 1.0}, {"source": "crm_contract_upload_attachments", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1755", "weight": 1.0}, {"source": "crm_contract_upload_attachments_with_category", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1779", "weight": 1.0}, {"source": "crm_contract_statistics_overview", "target": "crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1813", "weight": 1.0}, {"source": "crm_contract_statistics_overview", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1830", "weight": 1.0}, {"source": "crm_contract_statistics_by_status", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1870", "weight": 1.0}, {"source": "crm_contract_statistics_by_type", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1921", "weight": 1.0}, {"source": "crm_contract_statistics_trend", "target": "crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1954", "weight": 1.0}, {"source": "crm_contract_statistics_trend", "target": "crm_contract_contract_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1967", "weight": 1.0}, {"source": "crm_contract_statistics_trend", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1971", "weight": 1.0}, {"source": "crm_contract_query_expiring", "target": "crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2014", "weight": 1.0}, {"source": "crm_contract_create_from_quote", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2079", "weight": 1.0}, {"source": "crm_contract_create_from_quote", "target": "crm_contract_quote_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2082", "weight": 1.0}, {"source": "crm_contract_create_from_quote", "target": "crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2088", "weight": 1.0}, {"source": "crm_contract_renew_contract", "target": "crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2122", "weight": 1.0}, {"source": "crm_contract_renew_contract", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2157", "weight": 1.0}, {"source": "crm_contract_renew_contract", "target": "crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2161", "weight": 1.0}, {"source": "crm_contract_export_contracts", "target": "crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2174", "weight": 1.0}, {"source": "crm_contract_export_contracts", "target": "crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2176", "weight": 1.0}, {"source": "crm_contract_list_contract_changes", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2226", "weight": 1.0}, {"source": "crm_contract_list_contract_changes", "target": "crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248", "weight": 1.0}, {"source": "crm_contract_list_contract_changes", "target": "crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248", "weight": 1.0}, {"source": "crm_contract_get_contract_change_detail", "target": "crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2272", "weight": 1.0}, {"source": "crm_contract_list_contract_templates", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2322", "weight": 1.0}, {"source": "crm_contract_list_contract_templates", "target": "crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2341", "weight": 1.0}, {"source": "crm_contract_get_contract_template_detail", "target": "crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2361", "weight": 1.0}, {"source": "crm_contract_create_from_opportunity", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2420", "weight": 1.0}, {"source": "crm_contract_create_from_opportunity", "target": "crm_contract_opportunity_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2425", "weight": 1.0}, {"source": "crm_contract_create_from_opportunity", "target": "crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2427", "weight": 1.0}, {"source": "crm_contract_sign_contract", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2454", "weight": 1.0}, {"source": "crm_contract_sign_contract", "target": "crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2460", "weight": 1.0}, {"source": "crm_contract_batch_assign_owner", "target": "crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2491", "weight": 1.0}, {"source": "crm_contract_batch_assign_owner", "target": "crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2493", "weight": 1.0}, {"source": "crm_contract_download_contract_pdf", "target": "crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2515", "weight": 1.0}, {"source": "crm_contract_create_contract_change", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2591", "weight": 1.0}, {"source": "crm_contract_create_contract_change", "target": "crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2594", "weight": 1.0}, {"source": "crm_contract_create_contract_change", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2615", "weight": 1.0}, {"source": "crm_contract_create_contract_change", "target": "crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2631", "weight": 1.0}, {"source": "crm_contract_update_contract_change", "target": "crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2643", "weight": 1.0}, {"source": "crm_contract_update_contract_change", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2661", "weight": 1.0}, {"source": "crm_contract_update_contract_change", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2665", "weight": 1.0}, {"source": "crm_contract_update_contract_change", "target": "crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2669", "weight": 1.0}, {"source": "crm_contract_soft_delete_contract_changes", "target": "crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2682", "weight": 1.0}, {"source": "crm_contract_submit_change_approval", "target": "crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2708", "weight": 1.0}, {"source": "crm_contract_withdraw_change", "target": "crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2722", "weight": 1.0}, {"source": "crm_contract_execute_change", "target": "crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2735", "weight": 1.0}, {"source": "crm_contract_export_contract_changes", "target": "crm_contract_list_contract_changes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2752", "weight": 1.0}, {"source": "crm_contract_export_contract_changes", "target": "crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2759", "weight": 1.0}, {"source": "crm_contract_create_contract_template", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2770", "weight": 1.0}, {"source": "crm_contract_create_contract_template", "target": "crm_contract_generate_template_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2776", "weight": 1.0}, {"source": "crm_contract_create_contract_template", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2793", "weight": 1.0}, {"source": "crm_contract_create_contract_template", "target": "crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2809", "weight": 1.0}, {"source": "crm_contract_update_contract_template", "target": "crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2852", "weight": 1.0}, {"source": "crm_contract_update_contract_template", "target": "crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2856", "weight": 1.0}, {"source": "crm_contract_update_contract_template", "target": "crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2866", "weight": 1.0}, {"source": "crm_contract_export_contract_templates", "target": "crm_contract_list_contract_templates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2935", "weight": 1.0}, {"source": "crm_contract_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1", "weight": 1.0}, {"source": "crm_contract_rationale_174", "target": "crm_contract_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L174", "weight": 1.0}, {"source": "crm_contract_rationale_263", "target": "crm_contract_build_contract_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L263", "weight": 1.0}, {"source": "crm_contract_rationale_669", "target": "crm_contract_build_contract_name_from_parties", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L669", "weight": 1.0}, {"source": "crm_contract_rationale_709", "target": "crm_contract_generate_contract_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L709", "weight": 1.0}, {"source": "crm_contract_rationale_756", "target": "crm_contract_contract_no_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L756", "weight": 1.0}, {"source": "crm_contract_rationale_770", "target": "crm_contract_replace_contract_no_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L770", "weight": 1.0}, {"source": "crm_contract_rationale_789", "target": "crm_contract_align_contract_no_to_sign_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L789", "weight": 1.0}, {"source": "crm_contract_rationale_823", "target": "crm_contract_resolve_party_short_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L823", "weight": 1.0}, {"source": "crm_contract_rationale_890", "target": "crm_contract_user_contract_name_uses_party_full_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L890", "weight": 1.0}, {"source": "crm_contract_rationale_918", "target": "crm_contract_generate_contract_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L918", "weight": 1.0}, {"source": "crm_contract_rationale_1476", "target": "crm_contract_soft_delete_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1476", "weight": 1.0}, {"source": "crm_contract_rationale_1499", "target": "crm_contract_validate_framework_contract_for_submit_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1499", "weight": 1.0}, {"source": "crm_contract_rationale_1567", "target": "crm_contract_batch_submit_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1567", "weight": 1.0}, {"source": "crm_contract_rationale_1595", "target": "crm_contract_withdraw_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1595", "weight": 1.0}, {"source": "crm_contract_rationale_1778", "target": "crm_contract_upload_attachments_with_category", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1778", "weight": 1.0}, {"source": "crm_contract_rationale_2058", "target": "crm_contract_create_from_quote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2058", "weight": 1.0}, {"source": "crm_contract_rationale_2121", "target": "crm_contract_renew_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2121", "weight": 1.0}, {"source": "crm_contract_rationale_2172", "target": "crm_contract_export_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2172", "weight": 1.0}, {"source": "crm_contract_rationale_2399", "target": "crm_contract_create_from_opportunity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2399", "weight": 1.0}, {"source": "crm_contract_rationale_2483", "target": "crm_contract_batch_assign_owner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2483", "weight": 1.0}, {"source": "crm_contract_rationale_2514", "target": "crm_contract_download_contract_pdf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2514", "weight": 1.0}, {"source": "crm_contract_rationale_2525", "target": "crm_contract_generate_template_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2525", "weight": 1.0}, {"source": "crm_contract_rationale_2707", "target": "crm_contract_submit_change_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2707", "weight": 1.0}], "raw_calls": [{"caller_nid": "crm_contract_ensure_contract_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/contract.py", "source_location": "L54"}, {"caller_nid": "crm_contract_get_contract_row_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L66"}, {"caller_nid": "crm_contract_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L77"}, {"caller_nid": "crm_contract_decimal_value", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L83"}, {"caller_nid": "crm_contract_decimal_value", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L85"}, {"caller_nid": "crm_contract_decimal_value", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L85"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L91"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L91"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L94"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L100"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L100"}, {"caller_nid": "crm_contract_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L103"}, {"caller_nid": "crm_contract_parse_optional_datetime", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "crm_contract_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111"}, {"caller_nid": "crm_contract_parse_optional_datetime", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111"}, {"caller_nid": "crm_contract_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L116"}, {"caller_nid": "crm_contract_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L119"}, {"caller_nid": "crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L130"}, {"caller_nid": "crm_contract_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L133"}, {"caller_nid": "crm_contract_resolve_user_display_name", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L133"}, {"caller_nid": "crm_contract_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L133"}, {"caller_nid": "crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L136"}, {"caller_nid": "crm_contract_is_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140"}, {"caller_nid": "crm_contract_is_blank", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140"}, {"caller_nid": "crm_contract_first_non_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L145"}, {"caller_nid": "crm_contract_first_non_blank", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L145"}, {"caller_nid": "crm_contract_get_default_invoice_info", "callee": "list_invoice_info_by_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L152"}, {"caller_nid": "crm_contract_get_default_invoice_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L156"}, {"caller_nid": "crm_contract_get_default_invoice_info", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L156"}, {"caller_nid": "crm_contract_get_default_invoice_info", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L156"}, {"caller_nid": "crm_contract_build_customer_address", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165"}, {"caller_nid": "crm_contract_build_customer_address", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L166"}, {"caller_nid": "crm_contract_build_customer_address", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L167"}, {"caller_nid": "crm_contract_build_customer_address", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L168"}, {"caller_nid": "crm_contract_build_customer_address", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L170"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L192"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L197"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L197"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L200"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L201"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L202"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L203"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L206"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L213"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L214"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L215"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L216"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L241"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L245"}, {"caller_nid": "crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L247"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L266"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L268"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L271"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "exists", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "outerjoin", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L276"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L286"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L287"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L288"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L288"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L288"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L289"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L291"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L291"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L291"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L298"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L299"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L300"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L305"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L306"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L307"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L316"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L317"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L318"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L319"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L320"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L325"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L327"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L329"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L331"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L333"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L335"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L337"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L339"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "build_contract_column_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L400"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L403"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L412"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L413"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L414"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L414"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L414"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L425"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L430"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L430"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L433"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L433"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L433"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L433"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L436"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L444"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L444"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L446"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448"}, {"caller_nid": "crm_contract_build_contract_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448"}, {"caller_nid": "crm_contract_list_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L463"}, {"caller_nid": "crm_contract_list_contracts", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L466"}, {"caller_nid": "crm_contract_list_contracts", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "crm_contract_list_contracts", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "crm_contract_list_contracts", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "crm_contract_list_contracts", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "crm_contract_list_contracts", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L468"}, {"caller_nid": "crm_contract_list_contracts", "callee": "min", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "crm_contract_list_contracts", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "crm_contract_list_contracts", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470"}, {"caller_nid": "crm_contract_list_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470"}, {"caller_nid": "crm_contract_list_contracts", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L474"}, {"caller_nid": "crm_contract_list_contracts", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L475"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L480"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L480"}, {"caller_nid": "crm_contract_list_contracts", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L484"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L484"}, {"caller_nid": "crm_contract_list_contracts", "callee": "list_products_by_contract_ids", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L485"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L487"}, {"caller_nid": "crm_contract_list_contracts", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L487"}, {"caller_nid": "crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L487"}, {"caller_nid": "crm_contract_list_contracts", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L489"}, {"caller_nid": "crm_contract_get_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502"}, {"caller_nid": "crm_contract_get_contract", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502"}, {"caller_nid": "crm_contract_get_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L515"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L516"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L517"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L517"}, {"caller_nid": "crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L520"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L520"}, {"caller_nid": "crm_contract_get_contract", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L523"}, {"caller_nid": "crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L528"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L528"}, {"caller_nid": "crm_contract_get_contract", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L530"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L534"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L535"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L536"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L537"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L538"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L539"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L540"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L541"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L542"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L543"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L544"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L545"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L546"}, {"caller_nid": "crm_contract_get_contract", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L547"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L551"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L553"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L558"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L561"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L562"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L563"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L565"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L566"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L570"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L571"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L572"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L574"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L577"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L578"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L579"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L580"}, {"caller_nid": "crm_contract_get_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L582"}, {"caller_nid": "crm_contract_get_contract", "callee": "aggregate_contract_product_plan_qtys", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L593"}, {"caller_nid": "crm_contract_get_contract", "callee": "attach_plan_qty_fields_to_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L596"}, {"caller_nid": "crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L598"}, {"caller_nid": "crm_contract_get_contract", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L599"}, {"caller_nid": "crm_contract_get_contract_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L622"}, {"caller_nid": "crm_contract_get_contract_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L633"}, {"caller_nid": "crm_contract_get_contract_row", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L633"}, {"caller_nid": "crm_contract_get_contract_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L633"}, {"caller_nid": "crm_contract_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646"}, {"caller_nid": "crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L649"}, {"caller_nid": "crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L650"}, {"caller_nid": "crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L651"}, {"caller_nid": "crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L652"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L670"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L671"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L671"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L674"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L675"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L679"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L681"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L682"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L687"}, {"caller_nid": "crm_contract_build_contract_name_from_parties", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L687"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L715"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L716"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L717"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L719"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L720"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L730"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L735"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L735"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L737"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L737"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "range", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L741"}, {"caller_nid": "crm_contract_generate_contract_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L746"}, {"caller_nid": "crm_contract_contract_no_exists", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L757"}, {"caller_nid": "crm_contract_contract_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L757"}, {"caller_nid": "crm_contract_contract_no_exists", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L762"}, {"caller_nid": "crm_contract_contract_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L763"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L773"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L773"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L776"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L776"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L776"}, {"caller_nid": "crm_contract_replace_contract_no_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L777"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L793"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L796"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L800"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L802"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L806"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "range", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L807"}, {"caller_nid": "crm_contract_align_contract_no_to_sign_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L811"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L824"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L828"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L829"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L835"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L836"}, {"caller_nid": "crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L837"}, {"caller_nid": "crm_contract_strip_contract_name_no_suffix", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L849"}, {"caller_nid": "crm_contract_strip_contract_name_no_suffix", "callee": "sub", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L849"}, {"caller_nid": "crm_contract_strip_contract_name_no_suffix", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L849"}, {"caller_nid": "crm_contract_auto_contract_name_body", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L878"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L891"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L891"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L891"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L895"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L896"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L897"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L898"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L899"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "discard", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L901"}, {"caller_nid": "crm_contract_user_contract_name_uses_party_full_name", "callee": "any", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L902"}, {"caller_nid": "crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L939"}, {"caller_nid": "crm_contract_generate_contract_name", "callee": "_with_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L941"}, {"caller_nid": "crm_contract_generate_contract_name", "callee": "endswith", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L947"}, {"caller_nid": "crm_contract_generate_contract_name", "callee": "endswith", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L951"}, {"caller_nid": "crm_contract_generate_contract_name", "callee": "_with_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L966"}, {"caller_nid": "crm_contract_is_framework_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L978"}, {"caller_nid": "crm_contract_validate_contract_type_and_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L982"}, {"caller_nid": "crm_contract_validate_contract_type_and_products", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L986"}, {"caller_nid": "crm_contract_normalize_framework_contract_data", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L996"}, {"caller_nid": "crm_contract_normalize_framework_contract_data", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L998"}, {"caller_nid": "crm_contract_normalize_framework_contract_data", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L999"}, {"caller_nid": "crm_contract_validate_product_prices_by_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1011"}, {"caller_nid": "crm_contract_validate_product_prices_by_contract_type", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1018"}, {"caller_nid": "crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1019"}, {"caller_nid": "crm_contract_validate_product_prices_by_contract_type", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1020"}, {"caller_nid": "crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1021"}, {"caller_nid": "crm_contract_validate_sale_purchase_contract_amount", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1025"}, {"caller_nid": "crm_contract_validate_sale_purchase_contract_amount", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1029"}, {"caller_nid": "crm_contract_validate_sale_purchase_contract_amount", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1030"}, {"caller_nid": "crm_contract_resolve_contract_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/contract.py", "source_location": "L1041"}, {"caller_nid": "crm_contract_calc_amount_with_tax", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1053"}, {"caller_nid": "crm_contract_calc_amount_with_tax", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1054"}, {"caller_nid": "crm_contract_calc_amount_with_tax", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1054"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1114"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1137"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1140"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1144"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1146"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1153"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1156"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1158"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1163"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1168"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1174"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1176"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1181"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1183"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1185"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1187"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1189"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1191"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1193"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1199"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1204"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1211"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1217"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1220"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1224"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1226"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1228"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1229"}, {"caller_nid": "crm_contract_apply_contract_entity_fields", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1230"}, {"caller_nid": "crm_contract_create_contract", "callee": "isinstance", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1247"}, {"caller_nid": "crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1248"}, {"caller_nid": "crm_contract_create_contract", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1249"}, {"caller_nid": "crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1256"}, {"caller_nid": "crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1258"}, {"caller_nid": "crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1260"}, {"caller_nid": "crm_contract_create_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1262"}, {"caller_nid": "crm_contract_create_contract", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1265"}, {"caller_nid": "crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1269"}, {"caller_nid": "crm_contract_create_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1270"}, {"caller_nid": "crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1272"}, {"caller_nid": "crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1278"}, {"caller_nid": "crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1280"}, {"caller_nid": "crm_contract_create_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1282"}, {"caller_nid": "crm_contract_create_contract", "callee": "CrmContract", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1283"}, {"caller_nid": "crm_contract_create_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1284"}, {"caller_nid": "crm_contract_create_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1291"}, {"caller_nid": "crm_contract_create_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1292"}, {"caller_nid": "crm_contract_create_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1293"}, {"caller_nid": "crm_contract_create_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1303"}, {"caller_nid": "crm_contract_create_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1304"}, {"caller_nid": "crm_contract_create_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1323"}, {"caller_nid": "crm_contract_create_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1324"}, {"caller_nid": "crm_contract_create_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1327"}, {"caller_nid": "crm_contract_create_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1337"}, {"caller_nid": "crm_contract_create_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1338"}, {"caller_nid": "crm_contract_assert_contract_editable_for_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1351"}, {"caller_nid": "crm_contract_assert_contract_editable_for_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1353"}, {"caller_nid": "crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1369"}, {"caller_nid": "crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1370"}, {"caller_nid": "crm_contract_update_contract", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1374"}, {"caller_nid": "crm_contract_update_contract", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1376"}, {"caller_nid": "crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1384"}, {"caller_nid": "crm_contract_update_contract", "callee": "invalidate_all_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1388"}, {"caller_nid": "crm_contract_update_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1401"}, {"caller_nid": "crm_contract_update_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1403"}, {"caller_nid": "crm_contract_update_contract", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1406"}, {"caller_nid": "crm_contract_update_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1413"}, {"caller_nid": "crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1414"}, {"caller_nid": "crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1414"}, {"caller_nid": "crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1427"}, {"caller_nid": "crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1431"}, {"caller_nid": "crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1434"}, {"caller_nid": "crm_contract_update_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1448"}, {"caller_nid": "crm_contract_update_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1449"}, {"caller_nid": "crm_contract_update_contract", "callee": "delete_products_by_contract_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1452"}, {"caller_nid": "crm_contract_update_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1454"}, {"caller_nid": "crm_contract_update_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1464"}, {"caller_nid": "crm_contract_soft_delete_contracts", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1483"}, {"caller_nid": "crm_contract_soft_delete_contracts", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1484"}, {"caller_nid": "crm_contract_soft_delete_contracts", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1486"}, {"caller_nid": "crm_contract_soft_delete_contracts", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1488"}, {"caller_nid": "crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1502"}, {"caller_nid": "crm_contract_validate_framework_contract_for_submit_approval", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1506"}, {"caller_nid": "crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1508"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1525"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1527"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1537"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1538"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "invalidate_all_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1542"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1543"}, {"caller_nid": "crm_contract_submit_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1552"}, {"caller_nid": "crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598"}, {"caller_nid": "crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600"}, {"caller_nid": "crm_contract_withdraw_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1607"}, {"caller_nid": "crm_contract_withdraw_contract_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1608"}, {"caller_nid": "crm_contract_withdraw_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1609"}, {"caller_nid": "crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1624"}, {"caller_nid": "crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1626"}, {"caller_nid": "crm_contract_start_execute", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1631"}, {"caller_nid": "crm_contract_start_execute", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1632"}, {"caller_nid": "crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1647"}, {"caller_nid": "crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649"}, {"caller_nid": "crm_contract_finish_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1654"}, {"caller_nid": "crm_contract_finish_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1655"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1669"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1670"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1673"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1675"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1678"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1682"}, {"caller_nid": "crm_contract_invalid_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1683"}, {"caller_nid": "crm_contract_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1698"}, {"caller_nid": "crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1701"}, {"caller_nid": "crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1702"}, {"caller_nid": "crm_contract_save_template", "callee": "dumps", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1703"}, {"caller_nid": "crm_contract_save_template", "callee": "default_settlement_clause", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1704"}, {"caller_nid": "crm_contract_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1710"}, {"caller_nid": "crm_contract_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1711"}, {"caller_nid": "crm_contract_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1724"}, {"caller_nid": "crm_contract_upload_file", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1738"}, {"caller_nid": "crm_contract_upload_file", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1740"}, {"caller_nid": "crm_contract_upload_file", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1741"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1753"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1754"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1757"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1759"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1760"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1760"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1760"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1761"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1761"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "startswith", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1761"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1761"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "discard", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1762"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1763"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1764"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "sorted", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1764"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1765"}, {"caller_nid": "crm_contract_upload_attachments", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1766"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1781"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1784"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1789"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1790"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1792"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1792"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "dumps", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1795"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1796"}, {"caller_nid": "crm_contract_upload_attachments_with_category", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1797"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1810"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1810"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1812"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1816"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1818"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1820"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1822"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1824"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1825"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1830"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1831"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1832"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1833"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1834"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1839"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1844"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1850"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1851"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1852"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1853"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1854"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1855"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1856"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1857"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1858"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1859"}, {"caller_nid": "crm_contract_statistics_overview", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1860"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1865"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1865"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1867"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1868"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1869"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1870"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1883"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1884"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1886"}, {"caller_nid": "crm_contract_statistics_by_status", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1891"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1899"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1899"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1901"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1902"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1903"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1918"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1921"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1923"}, {"caller_nid": "crm_contract_statistics_by_type", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1928"}, {"caller_nid": "crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1937"}, {"caller_nid": "crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1941"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1953"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1953"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1957"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1959"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1960"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1964"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1966"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1967"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "sorted", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1970"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1970"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1971"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "sum", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1972"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "quantize", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1974"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1974"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1974"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1976"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1978"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1981"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1982"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1983"}, {"caller_nid": "crm_contract_statistics_trend", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1984"}, {"caller_nid": "crm_contract_query_expiring", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1999"}, {"caller_nid": "crm_contract_query_expiring", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2000"}, {"caller_nid": "crm_contract_query_expiring", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002"}, {"caller_nid": "crm_contract_query_expiring", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002"}, {"caller_nid": "crm_contract_query_expiring", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002"}, {"caller_nid": "crm_contract_query_expiring", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002"}, {"caller_nid": "crm_contract_query_expiring", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2007"}, {"caller_nid": "crm_contract_query_expiring", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2011"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2020"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2022"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2022"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2023"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2023"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2024"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2024"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2025"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2025"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2027"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2027"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2028"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2028"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2030"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2033"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2036"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2036"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2037"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2038"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2038"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2039"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2039"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2040"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2041"}, {"caller_nid": "crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get_quote", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2059"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2061"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2063"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2064"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2065"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2067"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2068"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2069"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2070"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2071"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2072"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2072"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2073"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "getattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2073"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2074"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2076"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2081"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2084"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2085"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2098"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2098"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2098"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2105"}, {"caller_nid": "crm_contract_create_from_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2106"}, {"caller_nid": "crm_contract_renew_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2124"}, {"caller_nid": "crm_contract_renew_contract", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2127"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2128"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2129"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2131"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2132"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2132"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2137"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2140"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2141"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2142"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2143"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2144"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2145"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2146"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2147"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149"}, {"caller_nid": "crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2152"}, {"caller_nid": "crm_contract_renew_contract", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2153"}, {"caller_nid": "crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2154"}, {"caller_nid": "crm_contract_renew_contract", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2155"}, {"caller_nid": "crm_contract_renew_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159"}, {"caller_nid": "crm_contract_export_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2173"}, {"caller_nid": "crm_contract_export_contracts", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2175"}, {"caller_nid": "crm_contract_export_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2175"}, {"caller_nid": "crm_contract_change_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2192"}, {"caller_nid": "crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2196"}, {"caller_nid": "crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2200"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2215"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2215"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2220"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2222"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2222"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2222"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2224"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2226"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2229"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2230"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2231"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2232"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "where", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2233"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "exists", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2233"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2236"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "build_contract_change_column_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2241"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2242"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2245"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "min", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2246"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2246"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247"}, {"caller_nid": "crm_contract_list_contract_changes", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248"}, {"caller_nid": "crm_contract_get_contract_change_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2259"}, {"caller_nid": "crm_contract_get_contract_change_detail", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2259"}, {"caller_nid": "crm_contract_get_contract_change_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2259"}, {"caller_nid": "crm_contract_get_contract_change_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2268"}, {"caller_nid": "crm_contract_get_contract_change_detail", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2269"}, {"caller_nid": "crm_contract_template_row_to_dict", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2291"}, {"caller_nid": "crm_contract_template_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2297"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2314"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2314"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2319"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2322"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2325"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2326"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2327"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2328"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "build_contract_template_column_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2332"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2333"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2336"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "min", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2337"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "max", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2337"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2338"}, {"caller_nid": "crm_contract_list_contract_templates", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2341"}, {"caller_nid": "crm_contract_get_contract_template_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2351"}, {"caller_nid": "crm_contract_get_contract_template_detail", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2351"}, {"caller_nid": "crm_contract_get_contract_template_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2351"}, {"caller_nid": "crm_contract_get_contract_template_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2360"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2367"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2369"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2369"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2370"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2370"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2371"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2371"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2371"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2372"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2372"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2373"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2373"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2374"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2375"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2376"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2377"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2378"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2379"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2379"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2380"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2381"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2382"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2382"}, {"caller_nid": "crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2383"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2410"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "dict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2412"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2413"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2414"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2415"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "float", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2416"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2417"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2424"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2437"}, {"caller_nid": "crm_contract_create_from_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2438"}, {"caller_nid": "crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2456"}, {"caller_nid": "crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2458"}, {"caller_nid": "crm_contract_sign_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2461"}, {"caller_nid": "crm_contract_sign_contract", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2464"}, {"caller_nid": "crm_contract_sign_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2468"}, {"caller_nid": "crm_contract_sign_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2469"}, {"caller_nid": "crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2485"}, {"caller_nid": "crm_contract_batch_assign_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2486"}, {"caller_nid": "crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2488"}, {"caller_nid": "crm_contract_batch_assign_owner", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2501"}, {"caller_nid": "crm_contract_batch_assign_owner", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2503"}, {"caller_nid": "crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2517"}, {"caller_nid": "crm_contract_download_contract_pdf", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2518"}, {"caller_nid": "crm_contract_download_contract_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2518"}, {"caller_nid": "crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2520"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2526"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2526"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2529"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2529"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2529"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2529"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2533"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2535"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2539"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2539"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2541"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2541"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "range", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2544"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2547"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2547"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2547"}, {"caller_nid": "crm_contract_generate_template_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2553"}, {"caller_nid": "crm_contract_get_change_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2558"}, {"caller_nid": "crm_contract_get_change_row", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2558"}, {"caller_nid": "crm_contract_get_change_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2558"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2569"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2569"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2573"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2573"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2573"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2574"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2579"}, {"caller_nid": "crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2579"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2591"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2593"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2596"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2598"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2599"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2601"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2603"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2605"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "CrmContractChange", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2606"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2607"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2629"}, {"caller_nid": "crm_contract_create_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2630"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2645"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2646"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2650"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2663"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2667"}, {"caller_nid": "crm_contract_update_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2668"}, {"caller_nid": "crm_contract_soft_delete_contract_changes", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2685"}, {"caller_nid": "crm_contract_soft_delete_contract_changes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2689"}, {"caller_nid": "crm_contract_soft_delete_contract_changes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2690"}, {"caller_nid": "crm_contract_soft_delete_contract_changes", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2692"}, {"caller_nid": "crm_contract_soft_delete_contract_changes", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2694"}, {"caller_nid": "crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2710"}, {"caller_nid": "crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2712"}, {"caller_nid": "crm_contract_submit_change_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2716"}, {"caller_nid": "crm_contract_submit_change_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2717"}, {"caller_nid": "crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2724"}, {"caller_nid": "crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2726"}, {"caller_nid": "crm_contract_withdraw_change", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2729"}, {"caller_nid": "crm_contract_withdraw_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2730"}, {"caller_nid": "crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2737"}, {"caller_nid": "crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2739"}, {"caller_nid": "crm_contract_execute_change", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2741"}, {"caller_nid": "crm_contract_execute_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2742"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2770"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2772"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2774"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2778"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "CrmContractTemplate", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2779"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2780"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2793"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2794"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2795"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2797"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2807"}, {"caller_nid": "crm_contract_create_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2808"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2822"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2822"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2822"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2831"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2832"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "setattr", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2854"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2858"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2860"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2862"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2864"}, {"caller_nid": "crm_contract_update_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2865"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2880"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2880"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2880"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2890"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2894"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2895"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2897"}, {"caller_nid": "crm_contract_soft_delete_contract_templates", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2899"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2912"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2912"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2912"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2921"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "int", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2922"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2924"}, {"caller_nid": "crm_contract_toggle_contract_template_active", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2925"}]}