From 5cf67f60d13609e088e70f04ec2404614978e30f Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Tue, 4 Aug 2026 15:33:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app.pid | 2 +- backend/app/crud/crm/contract.py | 281 +- backend/app/crud/crm/contract_product.py | 6 +- backend/graphify-out/.graphify_labels.json | 14 +- .../2026-08-04/.graphify_labels.json | 8 + .../graphify-out/2026-08-04/GRAPH_REPORT.md | 398 +- backend/graphify-out/2026-08-04/graph.json | 9597 ++++++++-------- backend/graphify-out/GRAPH_REPORT.md | 366 +- ...b21f0f3d3af272d2ca6122744a5cbbc002ae1.json | 1 + ...455f5e81ed38c96452f6be763f241163c160c.json | 1 + ...bec978288096dd18525fcc9f10d8eec470332.json | 1 + ...e742edfc963761252f32e6868c4341e61af84.json | 1 + ...a72ef64852d05e40af224633d2a50d0e82953.json | 1 + ...1381b48e07fef4b74b4dd83365e8cca1edab8.json | 1 + ...05d483860e2214950a5e3552dee57e207be2f.json | 1 + ...dd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce.json | 1 + ...5db6266d93099e61fa808684126f63c7c127f.json | 1 + ...3a120cd4caa8aac6650da16a36150444d78e6.json | 1 + backend/graphify-out/cache/stat-index.json | 2 +- backend/graphify-out/graph.html | 8 +- backend/graphify-out/graph.json | 3898 ++++--- .../test_crm_contract_name_from_parties.py | 169 + backend/tests/test_crm_contract_no_align.py | 39 +- ...26-08-04-split-framework-contract-type.sql | 76 + ...4-crm-contract-name-from-parties-design.md | 32 + graphify-out/cache/stat-index.json | 2 +- graphify-out/manifest.json | 41 +- web-admin/graphify-out/.graphify_labels.json | 24 +- .../2026-08-04/.graphify_labels.json | 15 +- .../graphify-out/2026-08-04/GRAPH_REPORT.md | 606 +- web-admin/graphify-out/2026-08-04/graph.json | 9817 +++++++++-------- web-admin/graphify-out/GRAPH_REPORT.md | 558 +- web-admin/graphify-out/graph.json | 8268 +++++++------- web-admin/src/assets/styles/core/app.scss | 1 - .../components/ContractDetailDialog.vue | 11 +- .../components/ContractFormDialog.vue | 274 +- .../src/views/crm/contract/contractType.ts | 12 + web-admin/src/views/crm/contract/detail.vue | 9 +- web-admin/src/views/crm/contract/form.vue | 168 +- 39 files changed, 18999 insertions(+), 15713 deletions(-) create mode 100644 backend/graphify-out/cache/ast/v0.9.4/0d35214081d8a80769bdc081741b21f0f3d3af272d2ca6122744a5cbbc002ae1.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/34c9d96b8b5da5dacd84a86a557455f5e81ed38c96452f6be763f241163c160c.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/369ddae942265f4492be1901fd0bec978288096dd18525fcc9f10d8eec470332.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/38bfbe51fdb8f5bc43c48fc0767e742edfc963761252f32e6868c4341e61af84.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/3f46aa8277a5a3ac9a73aebbf39a72ef64852d05e40af224633d2a50d0e82953.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/69bc7d7ead223c34143e56ed7eb1381b48e07fef4b74b4dd83365e8cca1edab8.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/9a59bc109ddc024a07b33b7392a05d483860e2214950a5e3552dee57e207be2f.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/c74f02d4dc391a4a35e4810c57fdd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/d97668b63b513d8b42809522f685db6266d93099e61fa808684126f63c7c127f.json create mode 100644 backend/graphify-out/cache/ast/v0.9.4/ff831959d54053ab544d9c377133a120cd4caa8aac6650da16a36150444d78e6.json create mode 100644 backend/tests/test_crm_contract_name_from_parties.py create mode 100644 docs/sql/migrations/2026-08-04-split-framework-contract-type.sql create mode 100644 docs/superpowers/specs/2026-08-04-crm-contract-name-from-parties-design.md create mode 100644 web-admin/src/views/crm/contract/contractType.ts diff --git a/backend/app.pid b/backend/app.pid index 3c1a00078..f29e92988 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -87236 +58367 diff --git a/backend/app/crud/crm/contract.py b/backend/app/crud/crm/contract.py index 06160f92d..b352222ab 100644 --- a/backend/app/crud/crm/contract.py +++ b/backend/app/crud/crm/contract.py @@ -576,6 +576,52 @@ def _get_supplier_short_name(db: Session, supplier_id: str, tenant_no: str) -> s return "山峡" +def _build_contract_name_from_parties( + db: Session, + *, + tenant_no: str, + contract_no: str, + party_a: str = "", + party_b: str = "", + supplier_id: str = "", + customer_id: str = "", + customer_name: str = "", + customer_short_name: str = "", + user_contract_name: str = "", +) -> str: + """根据供需方面板与主数据生成/校正合同名称。""" + supplier = get_supplier_info(db, supplier_id, tenant_no=tenant_no) if supplier_id else None + supplier_name = (getattr(supplier, "supplier_name", None) or "").strip() if supplier else "" + supplier_short_name = _get_supplier_short_name(db, supplier_id or "", tenant_no) + + cust_name = (customer_name or "").strip() + cust_short = (customer_short_name or "").strip() + invoice_name = "" + if customer_id: + # 始终从客户主数据取简称,避免前端未带 shortName 时落成全称 + customer = get_customer(db, customer_id) + if customer: + cust_name = cust_name or (customer.customer_name or "").strip() + db_short = (customer.short_name or "").strip() + if db_short: + cust_short = db_short + inv = _get_default_invoice_info(db, tenant_no=tenant_no, customer_id=customer_id) + if inv: + invoice_name = (inv.get("companyName") or "").strip() + + return generate_contract_name( + contract_no or "", + party_a=party_a or "", + party_b=party_b or "", + supplier_name=supplier_name, + supplier_short_name=supplier_short_name, + customer_name=cust_name, + customer_short_name=cust_short, + customer_invoice_name=invoice_name, + user_contract_name=user_contract_name or "", + ) + + def generate_contract_no( db: Session, tenant_no: str, @@ -583,7 +629,10 @@ def generate_contract_no( supplier_id: str = None, sign_date: date = None, ) -> str: - """Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}""" + """Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号} + + 流水与撞号检测须含软删:uk_contract_tenant_no 对 (contract_no, tenant_no) 全局唯一。 + """ supplier_code = "SX" if supplier_id: supplier = get_supplier_info(db, supplier_id, tenant_no=tenant_no) @@ -594,11 +643,11 @@ def generate_contract_no( date_str = date_to_use.strftime("%Y%m%d") prefix = f"{supplier_code}/X-JT{date_str}" + # 含软删:已软删编号仍占唯一索引,不能复用 last = ( db.query(CrmContract) .filter( CrmContract.tenant_no == tenant_no, - CrmContract.del_flag == 0, CrmContract.contract_no.like(f"{prefix}%"), ) .order_by(CrmContract.contract_no.desc()) @@ -612,14 +661,9 @@ def generate_contract_no( except ValueError: sequence = 1 - for retry in range(10): + for retry in range(50): candidate = f"{prefix}{sequence + retry:03d}" - exists = ( - db.query(CrmContract.id) - .filter(CrmContract.contract_no == candidate, CrmContract.del_flag == 0) - .first() - ) - if not exists: + if not contract_no_exists(db, tenant_no, candidate): return candidate raise ValueError("生成合同编号失败,请稍后重试") @@ -690,37 +734,183 @@ def align_contract_no_to_sign_date( raise ValueError("生成合同编号失败,请稍后重试") +def resolve_party_short_name( + party_name: str, + *, + supplier_name: str = "", + supplier_short_name: str = "", + customer_name: str = "", + customer_short_name: str = "", + customer_invoice_name: str = "", +) -> str: + """按面板单位全称精确匹配交易主体/客户主数据,取 shortName;对不上则用全称。""" + party = (party_name or "").strip() + if not party: + return "" + + s_name = (supplier_name or "").strip() + s_short = (supplier_short_name or "").strip() + if s_name and party == s_name: + return s_short or s_name + if s_short and party == s_short: + return s_short + + c_name = (customer_name or "").strip() + c_short = (customer_short_name or "").strip() + c_inv = (customer_invoice_name or "").strip() + if c_name and party == c_name: + return c_short or c_name + if c_short and party == c_short: + return c_short + if c_inv and party == c_inv: + return c_short or c_inv + + return party + + +def _strip_contract_name_no_suffix(name: str) -> str: + return re.sub(r"([^)]+)$", "", (name or "").strip()).strip() + + +def _auto_contract_name_body( + party_a: str = "", + party_b: str = "", + *, + supplier_name: str = "", + supplier_short_name: str = "", + customer_name: str = "", + customer_short_name: str = "", + customer_invoice_name: str = "", +) -> str: + a = resolve_party_short_name( + party_a, + supplier_name=supplier_name, + supplier_short_name=supplier_short_name, + customer_name=customer_name, + customer_short_name=customer_short_name, + customer_invoice_name=customer_invoice_name, + ) + b = resolve_party_short_name( + party_b, + supplier_name=supplier_name, + supplier_short_name=supplier_short_name, + customer_name=customer_name, + customer_short_name=customer_short_name, + customer_invoice_name=customer_invoice_name, + ) + return "-".join(x for x in (a, b) if x) + + +def _user_contract_name_uses_party_full_name( + cleaned_user_name: str, + party_a: str = "", + party_b: str = "", + *, + supplier_name: str = "", + customer_name: str = "", + customer_invoice_name: str = "", +) -> bool: + """前端预览误用单位全称时,名称片段会等于面板/客户/开票全称。""" + parts = [p.strip() for p in (cleaned_user_name or "").split("-") if p.strip()] + if not parts: + return False + full_names = { + (party_a or "").strip(), + (party_b or "").strip(), + (supplier_name or "").strip(), + (customer_name or "").strip(), + (customer_invoice_name or "").strip(), + } + full_names.discard("") + return any(part in full_names for part in parts) + + def generate_contract_name( contract_no: str, - contract_type: str, - supplier_short_name: str, - customer_short_name: str, + party_a: str = "", + party_b: str = "", + *, + supplier_name: str = "", + supplier_short_name: str = "", + customer_name: str = "", + customer_short_name: str = "", + customer_invoice_name: str = "", user_contract_name: str = "", + contract_type: str = "", # 保留兼容旧调用,命名不再按类型反序 ) -> str: - """Java: generateContractName""" - if not (user_contract_name or "").strip(): - if contract_type in ("sale", "framework"): - return f"{supplier_short_name}-{customer_short_name}({contract_no})" - if contract_type == "purchase": - return f"{customer_short_name}-{supplier_short_name}({contract_no})" - return f"合同({contract_no})" + """按面板供方(partyA)-需方(partyB)生成:{供方简称}-{需方简称}({合同编号})。 - cleaned = re.sub(r"([^)]+)$", "", user_contract_name.strip()) - if f"({contract_no})" not in cleaned: + - 名称为空:按主数据简称自动生成 + - 名称含单位全称(前端误预览):仍按简称重算 + - 续签 / 真正手填自定义名:保留主体,仅校正末尾括号内合同编号 + """ + auto_body = _auto_contract_name_body( + party_a, + party_b, + supplier_name=supplier_name, + supplier_short_name=supplier_short_name, + customer_name=customer_name, + customer_short_name=customer_short_name, + customer_invoice_name=customer_invoice_name, + ) + + def _with_no(body: str) -> str: + if not body: + return f"合同({contract_no})" if contract_no else "合同" + return f"{body}({contract_no})" if contract_no else body + + user_raw = (user_contract_name or "").strip() + if not user_raw: + return _with_no(auto_body) + + # 续签名称:保留整段(含原编号括号),仅必要时追加当前编号 + if "-续签" in user_raw: + cleaned = _strip_contract_name_no_suffix(user_raw) + # 若原文已以当前编号结尾则保持;否则在整段后续签名后挂编号 + if contract_no and user_raw.endswith(f"({contract_no})"): + return user_raw + if contract_no and f"({contract_no})" not in cleaned: + # 续签名通常为「原名-续签N」,原名里已有旧编号括号,不能 strip 掉 + return f"{user_raw}({contract_no})" if not user_raw.endswith(f"({contract_no})") else user_raw + return user_raw + + cleaned = _strip_contract_name_no_suffix(user_raw) + if ( + cleaned == auto_body + or _user_contract_name_uses_party_full_name( + cleaned, + party_a, + party_b, + supplier_name=supplier_name, + customer_name=customer_name, + customer_invoice_name=customer_invoice_name, + ) + ): + return _with_no(auto_body) + + if contract_no and f"({contract_no})" not in cleaned: return f"{cleaned}({contract_no})" return cleaned +# 框架类合同类型(含历史 framework,兼容未刷完数据) +FRAMEWORK_CONTRACT_TYPES = frozenset({"framework", "framework_sale", "framework_purchase"}) + + +def is_framework_contract_type(contract_type: Optional[str]) -> bool: + return (contract_type or "").strip() in FRAMEWORK_CONTRACT_TYPES + + def _validate_contract_type_and_products(data: dict) -> None: contract_type = (_get_field(data, "contract_type", "contractType") or "").strip() - if contract_type in ("sale", "purchase", "framework"): + if contract_type in ("sale", "purchase") or is_framework_contract_type(contract_type): products = _get_field(data, "products", "productList") or [] if not products: raise ValueError("销售合同、采购合同或框架合同必须至少添加一个产品") def _normalize_framework_contract_data(data: dict) -> None: - if (_get_field(data, "contract_type", "contractType") or "").strip() != "framework": + if not is_framework_contract_type(_get_field(data, "contract_type", "contractType")): return data["amount"] = 0 data["amountWithTax"] = 0 @@ -979,7 +1169,6 @@ def create_contract( raise ValueError("客户ID不能为空") supplier_id = (_get_field(data, "supplier_id", "supplierId") or "").strip() or None - supplier_short_name = _get_supplier_short_name(db, supplier_id or "", tenant_no) assert_products_allowed_for_supplier( db, @@ -999,18 +1188,13 @@ def create_contract( if contract_no_exists(db, tenant_no, contract_no): raise ValueError(f"合同编号已存在:{contract_no}") - customer = get_customer(db, customer_id) - customer_short_name = (customer.short_name or "") if customer else "" user_contract_name = (_get_field(data, "contract_name", "contractName") or "").strip() - contract_name = generate_contract_name( - contract_no, contract_type, supplier_short_name, customer_short_name, user_contract_name - ) now = datetime.now() entity = CrmContract( id=generate_uuid(), contract_no=contract_no, - contract_name=contract_name, + contract_name="", customer_id=customer_id, status="draft", contract_type=contract_type, @@ -1032,7 +1216,17 @@ def create_contract( entity, data, db=db, tenant_no=tenant_no, user_id=user_id, is_create=True ) entity.contract_no = contract_no - entity.contract_name = contract_name + entity.contract_name = _build_contract_name_from_parties( + db, + tenant_no=tenant_no, + contract_no=contract_no, + party_a=entity.party_a or "", + party_b=entity.party_b or "", + supplier_id=entity.supplier_id or supplier_id or "", + customer_id=entity.customer_id or customer_id, + customer_name=entity.customer_name or "", + user_contract_name=user_contract_name, + ) _resolve_contract_product_ids(db, tenant_no=tenant_no, products=product_rows, user_id=user_id) db.add(entity) @@ -1126,16 +1320,17 @@ def update_contract( raise ValueError(f"合同编号已存在:{submitted_no}") old.contract_no = submitted_no - supplier_short_name = _get_supplier_short_name(db, old.supplier_id or "", tenant_no) - customer = get_customer(db, old.customer_id) if old.customer_id else None - customer_short_name = (customer.short_name or "") if customer else (old.customer_name or "") user_name = (_get_field(data, "contract_name", "contractName") or old.contract_name or "").strip() - old.contract_name = generate_contract_name( - old.contract_no or "", - contract_type, - supplier_short_name, - customer_short_name, - user_name, + old.contract_name = _build_contract_name_from_parties( + db, + tenant_no=tenant_no, + contract_no=old.contract_no or "", + party_a=old.party_a or "", + party_b=old.party_b or "", + supplier_id=old.supplier_id or "", + customer_id=old.customer_id or "", + customer_name=old.customer_name or "", + user_contract_name=user_name, ) old.update_by = user_id @@ -1194,7 +1389,7 @@ def validate_framework_contract_for_submit_approval( entity = contract or get_contract_row(db, contract_id, tenant_no=tenant_no) if not entity: raise ValueError("合同不存在") - if (entity.contract_type or "").strip() != "framework": + if not is_framework_contract_type(entity.contract_type): return products = list_contract_products(db, contract_id, tenant_no=tenant_no) @@ -1615,7 +1810,9 @@ def statistics_by_type(db: Session, tenant_no: str, *, user_info=None) -> List[D ("sale", "销售合同"), ("service", "服务合同"), ("purchase", "采购合同"), - ("framework", "框架合同"), + ("framework_sale", "框架销售合同"), + ("framework_purchase", "框架采购合同"), + ("framework", "框架合同"), # 历史兼容 ("supplement", "补充协议"), ("lease", "租赁合同"), ("other", "其他"), diff --git a/backend/app/crud/crm/contract_product.py b/backend/app/crud/crm/contract_product.py index e65200778..f68a3be73 100644 --- a/backend/app/crud/crm/contract_product.py +++ b/backend/app/crud/crm/contract_product.py @@ -287,7 +287,11 @@ def batch_insert_contract_products( user_id=user_id, dept_id=dept_id, ) - if contract_type == "framework": + if (contract_type or "").strip() in ( + "framework", + "framework_sale", + "framework_purchase", + ): tiers = _get_field(row, "priceTiers", "price_tiers") or [] if tiers: save_price_tiers_for_product( diff --git a/backend/graphify-out/.graphify_labels.json b/backend/graphify-out/.graphify_labels.json index 956b67e0f..13c4ef958 100644 --- a/backend/graphify-out/.graphify_labels.json +++ b/backend/graphify-out/.graphify_labels.json @@ -138,31 +138,23 @@ "136": "Community 136", "137": "statistics.py", "138": "Community 138", - "139": "Community 139", "140": "Community 140", - "141": "clue_statistics.py", "142": "Community 142", "143": "SysEthnic", - "144": "SysApiRequestLog", "145": "minio_url.py", "146": "__init__.py", "147": "Community 147", "148": "storage.py", "149": "Community 149", - "150": "ContractListQuery", "151": "Community 151", - "152": "MinIOStorage", "153": "Community 153", "154": "PlCarrier", "155": "Community 155", - "156": "get_client_ip", "157": "Community 157", "158": "Community 158", "159": "minio_url.py", "160": "register_local_callback", "161": "backfill_crm_contract_attachment_urls.py", - "162": "crm_models.py", - "163": "login_crypto.py", "164": "ethnic.py", "165": "Community 165", "166": "code:block1 (/iflytek/shanxia2.0/backend)", @@ -170,19 +162,17 @@ "168": "vehicle_urea.py", "169": "product.py", "170": "test_quote_approver_setting.py", - "171": "BaseStorage", - "172": "LocalStorage", "173": "resolve_create_time_bounds", "174": "datetime_parse.py", "175": "vehicle_maintenance.py", "176": "_forbid_legacy_invoice_fields", "177": "vehicle_maintenance.py", - "178": ".to_tenant_user_dict", + "178": "product_allowed", "179": "_ensure_subpack_slip_no", "180": "menu.py", - "181": "get_db_current_user_optional", "185": "vehicle_urea.py", "186": "transport_address.py", + "187": "allocate_next_biz_no", "189": "create", "190": "menu.py", "192": "pool_rule.py", diff --git a/backend/graphify-out/2026-08-04/.graphify_labels.json b/backend/graphify-out/2026-08-04/.graphify_labels.json index ff063bf25..975c42c34 100644 --- a/backend/graphify-out/2026-08-04/.graphify_labels.json +++ b/backend/graphify-out/2026-08-04/.graphify_labels.json @@ -177,12 +177,20 @@ "175": "vehicle_maintenance.py", "176": "_forbid_legacy_invoice_fields", "177": "vehicle_maintenance.py", + "178": "product_allowed", "179": "_ensure_subpack_slip_no", "180": "menu.py", + "181": "storage.py", + "182": "QiniuStorage", + "183": "assert_products_allowed_for_supplier", + "184": "pl_transport_site_service.py", "185": "vehicle_urea.py", "186": "transport_address.py", + "187": "allocate_next_biz_no", + "188": "oss.py", "189": "create", "190": "menu.py", + "191": "CrmProductBrand", "192": "pool_rule.py", "197": "_coerce_resource_snapshot", "198": "user.py", diff --git a/backend/graphify-out/2026-08-04/GRAPH_REPORT.md b/backend/graphify-out/2026-08-04/GRAPH_REPORT.md index 7db63421e..320810123 100644 --- a/backend/graphify-out/2026-08-04/GRAPH_REPORT.md +++ b/backend/graphify-out/2026-08-04/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - backend (2026-08-04) ## Corpus Check -- 306 files · ~207,829 words +- 307 files · ~208,617 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 4579 nodes · 15550 edges · 531 communities (515 shown, 16 thin omitted) +- 4609 nodes · 15615 edges · 539 communities (523 shown, 16 thin omitted) - Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 410 edges (avg confidence: 0.53) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `012a2ad6` +- Built from commit: `5fe53c54` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -148,8 +148,16 @@ - [[_COMMUNITY_LocalStorage|LocalStorage]] - [[_COMMUNITY_resolve_create_time_bounds|resolve_create_time_bounds]] - [[_COMMUNITY_datetime_parse.py|datetime_parse.py]] +- [[_COMMUNITY_product_allowed|product_allowed]] - [[_COMMUNITY__ensure_subpack_slip_no|_ensure_subpack_slip_no]] - [[_COMMUNITY_menu.py|menu.py]] +- [[_COMMUNITY_storage.py|storage.py]] +- [[_COMMUNITY_QiniuStorage|QiniuStorage]] +- [[_COMMUNITY_assert_products_allowed_for_supplier|assert_products_allowed_for_supplier]] +- [[_COMMUNITY_pl_transport_site_service.py|pl_transport_site_service.py]] +- [[_COMMUNITY_allocate_next_biz_no|allocate_next_biz_no]] +- [[_COMMUNITY_oss.py|oss.py]] +- [[_COMMUNITY_CrmProductBrand|CrmProductBrand]] - [[_COMMUNITY_crm_quote_pdf.py|crm_quote_pdf.py]] - [[_COMMUNITY_shanxia2.0 后端骨架(FastAPI)|shanxia2.0 后端骨架(FastAPI)]] - [[_COMMUNITY_api_crypto_middleware.py|api_crypto_middleware.py]] @@ -171,11 +179,11 @@ - [[_COMMUNITY_PlanResourceSnapshotMixin|PlanResourceSnapshotMixin]] ## God Nodes (most connected - your core abstractions) -1. `BaseModel` - 442 edges -2. `get_tenant_no()` - 349 edges +1. `BaseModel` - 443 edges +2. `get_tenant_no()` - 350 edges 3. `DbUserContext` - 254 edges -4. `success_response()` - 253 edges -5. `error_response()` - 235 edges +4. `success_response()` - 254 edges +5. `error_response()` - 236 edges 6. `generate_uuid()` - 195 edges 7. `BxUserContext` - 183 edges 8. `crm_user_info()` - 137 edges @@ -197,79 +205,79 @@ ## Import Cycles - None detected. -## Communities (531 total, 16 thin omitted) +## Communities (539 total, 16 thin omitted) ### Community 0 - "Community 0" -Cohesion: 0.11 -Nodes (41): approve_settlement_legacy(), cancel_settlement(), create_settlement(), delete_settlement(), disburse_settlement(), _generate_settlement_no(), get_settlement(), get_settlement_approval_flow() (+33 more) +Cohesion: 0.16 +Nodes (32): check_document_expiry(), document_reminder_stats(), get_inventory_ledger(), get_summary(), list_document_reminders(), list_transactions(), list_warnings(), date (+24 more) ### Community 1 - "Community 1" Cohesion: 0.08 -Nodes (28): ContractApprovalActionBody, ContractApprovalPassBody, ContractApprovalRejectBody, ContractApprovalTransferBody, ContractBatchAssignBody, ContractBatchSubmitBody, ContractChangeCreateBody, ContractChangeSubmitBody (+20 more) +Nodes (36): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, ContractApproverSettingSaveBody, ContractApprovalActionBody, ContractApprovalPassBody, ContractApprovalRejectBody, ContractApprovalTransferBody, ContractBatchAssignBody, ContractBatchSubmitBody (+28 more) ### Community 2 - "Community 2" Cohesion: 0.15 Nodes (11): BxAdvanceApply, BxAdvanceApproval, AdvanceService, Any, Session, 同一节点多次审批时,取 approval_time 最新的一条作为当前节点状态。, 返回全部审批动作,按时间正序排列,用于展示完整审批历史。, Any (+3 more) ### Community 3 - "Community 3" -Cohesion: 0.08 -Nodes (98): attachment_download_url(), attachment_preview_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post() (+90 more) +Cohesion: 0.09 +Nodes (88): attachment_download_url(), attachment_preview_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post() (+80 more) ### Community 4 - "Community 4" -Cohesion: 0.12 -Nodes (61): _apply_list_filters(), assign_opportunities(), batch_update_expect_date(), batch_update_stage(), change_stage(), create_opportunity(), _decimal_value(), _enrich_user_names() (+53 more) +Cohesion: 0.09 +Nodes (76): _apply_list_filters(), assign_opportunities(), batch_update_expect_date(), batch_update_stage(), change_stage(), create_opportunity(), _decimal_value(), _enrich_user_names() (+68 more) ### Community 5 - "Community 5" Cohesion: 0.20 Nodes (24): count_source_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings(), load_settings_env(), load_user_mapping() (+16 more) ### Community 6 - "Community 6" -Cohesion: 0.19 -Nodes (31): assign_customer(), batch_claim_customers(), check_duplicate_customer(), claim_customer(), create_customer(), deal_customer(), _enrich_user_names(), _ensure_customer_in_scope() (+23 more) +Cohesion: 0.18 +Nodes (32): assign_customer(), batch_claim_customers(), check_duplicate_customer(), claim_customer(), create_customer(), deal_customer(), _enrich_user_names(), _ensure_customer_in_scope() (+24 more) ### Community 7 - "Community 7" Cohesion: 0.12 Nodes (36): get_password_hash(), Namespace, build_merged_users(), bx_role_labels(), check_minio(), check_mysql(), check_redis(), _clip() (+28 more) ### Community 8 - "Community 8" -Cohesion: 0.11 -Nodes (47): _build_quote_filters(), calculate_quote_amount(), create_new_version(), create_quote(), _decimal_value(), _enrich_contact_fields(), _enrich_supplier_name(), _fill_contract_linked_count() (+39 more) +Cohesion: 0.10 +Nodes (48): _build_quote_filters(), calculate_quote_amount(), create_new_version(), create_quote(), _decimal_value(), _enrich_contact_fields(), _enrich_supplier_name(), _fill_contract_linked_count() (+40 more) ### Community 11 - "Community 11" -Cohesion: 0.10 -Nodes (55): cancel_apply(), create_apply(), create_disburse(), delete_applies(), delete_disburses(), get_apply(), get_disburse(), list_applies() (+47 more) +Cohesion: 0.15 +Nodes (40): PlVehicleUreaApply, PlVehicleUreaDisburse, 车辆尿素申请 pl_vehicle_urea_apply, 车辆尿素发放登记 pl_vehicle_urea_disburse, Decimal, VehicleUreaApplyCreate, VehicleUreaApplyRead, VehicleUreaApplyUpdate (+32 more) ### Community 12 - "Community 12" -Cohesion: 0.03 -Nodes (97): category_add(), category_delete(), category_tree(), category_update(), contact_add(), contact_delete(), contact_update(), customer_create() (+89 more) +Cohesion: 0.05 +Nodes (70): contact_add(), customer_create(), customer_update(), customer_name_exists(), BaseModel, AttachmentUploadResponse, ChangePasswordRequest, Config (+62 more) ### Community 13 - "Community 13" -Cohesion: 0.15 -Nodes (32): create_instance(), create_process_def(), create_task(), get_all_tasks_for_business(), get_instance(), get_latest_version(), get_nodes_by_version(), get_pending_tasks_by_node() (+24 more) +Cohesion: 0.16 +Nodes (31): create_instance(), create_process_def(), create_task(), get_all_tasks_for_business(), get_instance(), get_latest_version(), get_nodes_by_version(), get_pending_tasks_by_node() (+23 more) ### Community 14 - "Community 14" -Cohesion: 0.16 -Nodes (31): bx_health(), 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, approve_reimburse(), approved_by_me(), _build_details_data(), create_reimburse(), delete_reimburse() (+23 more) +Cohesion: 0.12 +Nodes (20): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,14 个一级菜单), menu_badge_stats(), Session, Session, recognize_cert(), RecognizeCertBody, RecognizeCertResult (+12 more) ### Community 15 - "Community 15" Cohesion: 0.11 Nodes (13): BxReimburseApply, BxReimburseApproval, BxReimburseDetail, 报销单勾选的发票附件(同一发票可勾选多个附件,各占一条)。, ReimburseInvoiceBriefOut, ReimburseInvoiceLinkIn, Any, Session (+5 more) ### Community 16 - "Community 16" -Cohesion: 0.18 -Nodes (36): PlVehicleRechargeApply, PlVehicleRechargeRecord, 车辆ETC/加油充值申请 pl_vehicle_recharge_apply, 车辆ETC/加油充值发放登记 pl_vehicle_recharge_record, 发放登记页:申请单 + 关联发放信息(左连接), VehicleRechargeApplyRead, VehicleRechargeDisburseBoardItem, VehicleRechargeRecordRead (+28 more) +Cohesion: 0.14 +Nodes (41): PlVehicleRechargeApply, PlVehicleRechargeRecord, 车辆ETC/加油充值申请 pl_vehicle_recharge_apply, 车辆ETC/加油充值发放登记 pl_vehicle_recharge_record, Decimal, 发放登记页:申请单 + 关联发放信息(左连接), VehicleRechargeApplyCreate, VehicleRechargeApplyRead (+33 more) ### Community 18 - "Community 18" Cohesion: 0.15 Nodes (30): advance_pending_approval_stats(), advance_status_counts(), approve_advance(), approved_by_me(), create_advance(), delete_advance(), _fill_offset_amounts(), get_advance() (+22 more) ### Community 19 - "Community 19" -Cohesion: 0.11 -Nodes (36): _avatar_url_field(), _build_user_info_payload(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 与 web-admin 静态路由 meta.roles(admin/super_admin)对齐的单元素数组。, 与 web-admin `userInfo` 字段约定一致。 (+28 more) +Cohesion: 0.12 +Nodes (34): _avatar_url_field(), _build_user_info_payload(), _jwt_user_payload(), logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 与 web-admin 静态路由 meta.roles(admin/super_admin)对齐的单元素数组。, 与 web-admin `userInfo` 字段约定一致。 (+26 more) ### Community 21 - "Community 21" -Cohesion: 0.06 -Nodes (74): _alias_row_to_dict(), _assert_brand_deletable(), barcode_exists(), _brand_row_to_dict(), _build_category_tree(), category_code_exists(), _category_row_to_dict(), _collect_category_with_ancestors() (+66 more) +Cohesion: 0.10 +Nodes (54): _alias_row_to_dict(), _assert_brand_deletable(), barcode_exists(), _brand_row_to_dict(), _build_category_tree(), category_code_exists(), _category_row_to_dict(), _collect_category_with_ancestors() (+46 more) ### Community 22 - "Community 22" Cohesion: 0.08 @@ -280,28 +288,28 @@ Cohesion: 0.11 Nodes (8): convert_heic_to_jpeg(), OSSStorage, process_image_content(), QiniuStorage, 文件存储工具模块 支持多种存储方式: 1. 本地存储 (local) - 默认 2. 七牛云存储 (qiniu) - 推荐生产环境使用 3. 阿里云OSS (, 将 HEIC/HEIF 格式转换为 JPEG 格式, 处理图片内容,如果是 HEIC 格式则转换为 JPEG, BytesIO ### Community 24 - "Community 24" -Cohesion: 0.09 -Nodes (34): SoftDeleteModel, BizAttachment, 用户-职位关联 sys_user_post, 民族码表 sys_ethnic(国标 GB/T 3304,全局), 用户-角色关联 sys_user_role(V0.3), SysEthnic, SysUserPost, SysUserRole (+26 more) +Cohesion: 0.10 +Nodes (19): category_add(), category_delete(), category_tree(), category_update(), product_add(), product_delete(), product_detail(), 删除产品(支持单条 body.id 和批量 body.ids) (+11 more) ### Community 25 - "Community 25" -Cohesion: 0.16 -Nodes (22): PlTransportProductFeedback, 运输单按产品回传 pl_transport_product_feedback, _dict_field(), format_brand_qty_summary(), load_transport_driver_product_feedbacks(), persist_io_item_brand_qtys(), persist_transport_product_feedback(), Any (+14 more) +Cohesion: 0.14 +Nodes (24): PlTransportProductBrandQty, PlTransportProductFeedback, 运输单按产品回传 pl_transport_product_feedback, 运输单产品回传品牌数量 pl_transport_product_brand_qty, _dict_field(), format_brand_qty_summary(), load_transport_driver_product_feedbacks(), persist_io_item_brand_qtys() (+16 more) ### Community 26 - "Community 26" -Cohesion: 0.07 -Nodes (36): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, list_public_vehicle_plates(), Session, 地磅公共只读:免登车牌 options(现场填写页), 免登:按出入库/计划解析 tenant_no,返回 pl_vehicle 车牌(self + carrier)。, _resolve_tenant_no(), API 路由包 — 山峡化工生产一体化门户, get_menu_list() (+28 more) +Cohesion: 0.16 +Nodes (31): bx_health(), 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, approve_reimburse(), approved_by_me(), _build_details_data(), create_reimburse(), delete_reimburse() (+23 more) ### Community 27 - "Community 27" Cohesion: 0.13 -Nodes (41): _apply_plan_product_update(), _apply_plan_update(), AutoGenerateMonthlyResult, _base_query(), create_plan(), _generate_plan_no(), get_plan(), _get_plan_by_id_only() (+33 more) +Nodes (42): _apply_plan_product_update(), _apply_plan_update(), AutoGenerateMonthlyResult, _base_query(), create_plan(), _generate_plan_no(), get_plan(), _get_plan_by_id_only() (+34 more) ### Community 28 - "Community 28" -Cohesion: 0.05 -Nodes (101): check_document_expiry(), document_reminder_stats(), get_inventory_ledger(), get_summary(), list_document_reminders(), list_transactions(), list_warnings(), date (+93 more) +Cohesion: 0.06 +Nodes (94): approve_settlement_legacy(), cancel_settlement(), create_settlement(), delete_settlement(), disburse_settlement(), _generate_settlement_no(), get_settlement(), get_settlement_approval_flow() (+86 more) ### Community 29 - "Community 29" -Cohesion: 0.20 -Nodes (20): _build_public_page(), _build_site_product_read(), _format_file_size(), get_public_site(), _get_site_link_by_token(), _parse_feedback_images(), Session, UploadFile (+12 more) +Cohesion: 0.12 +Nodes (31): _build_public_page(), _build_site_product_read(), _format_file_size(), get_public_site(), _get_site_link_by_token(), _parse_feedback_images(), Session, UploadFile (+23 more) ### Community 30 - "Community 30" Cohesion: 0.16 @@ -312,32 +320,32 @@ Cohesion: 0.20 Nodes (15): bind_biz(), delete_attachment(), download_file(), list_by_biz(), _parse_id_list(), preview_attachment(), Session, UploadFile (+7 more) ### Community 34 - "Community 34" -Cohesion: 0.06 -Nodes (50): _claims_from_auth(), _format_body_bytes(), _persist_log(), Any, Request, 统一记录 API 请求/响应出入参的中间件, _redact_obj(), _schedule_persist_log() (+42 more) +Cohesion: 0.15 +Nodes (31): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), create_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields(), get_designer_data() (+23 more) ### Community 35 - "Community 35" Cohesion: 0.18 Nodes (36): clear_portal_workflow(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_bx_user_mapping(), load_runtime_settings() (+28 more) ### Community 36 - "Community 36" -Cohesion: 0.18 -Nodes (25): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), create_process_def(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields() (+17 more) +Cohesion: 0.14 +Nodes (15): 流程实例 wf_process_instance, WfProcessInstance, _dispatch_local(), Any, 工作流回调服务 —— 流程状态变更时通知业务系统, 注册本地回调函数。当 callback_url 以 path 开头时直接调用 fn。, 尝试本地直调。返回 True 表示已处理,False 表示无匹配的本地回调。, 流程实例状态变更后,向业务系统发送回调通知。 优先级: 1. 如果 callback_url 是内部路径(以 / 开头),优先尝试本地直调 (+7 more) ### Community 37 - "Community 37" -Cohesion: 0.17 -Nodes (26): delete_plan(), delete_carrier(), delete_driver(), delete_personnel(), delete_vehicle(), unbind_vehicle_driver(), delete_plan(), _actor_ids() (+18 more) +Cohesion: 0.19 +Nodes (23): delete_plan(), delete_carrier(), unbind_vehicle_driver(), delete_plan(), _actor_ids(), _actor_names(), assert_row_deletable_by_creator(), assert_rows_deletable_by_creator() (+15 more) ### Community 38 - "Community 38" -Cohesion: 0.14 -Nodes (25): load_brand_qtys_by_plan_product_ids(), persist_plan_product_brand_qtys(), Any, Decimal, Session, 按计划产品明细 ID 批量加载归档品牌数量(brandId/brandName/qty)。, 软删旧品牌量行后按归档结果插入;无品牌约定则只软删不插入。, validate_brand_qty_rows() (+17 more) +Cohesion: 0.21 +Nodes (15): load_brand_qtys_by_plan_product_ids(), persist_plan_product_brand_qtys(), Any, Decimal, Session, 按计划产品明细 ID 批量加载归档品牌数量(brandId/brandName/qty)。, 软删旧品牌量行后按归档结果插入;无品牌约定则只软删不插入。, validate_brand_qty_rows() (+7 more) ### Community 39 - "Community 39" Cohesion: 0.22 Nodes (28): assign_clues(), check_convert(), check_duplicate_clue(), convert_clue(), create_clue(), _enrich_user_names(), _ensure_clue_in_scope(), get_clue() (+20 more) ### Community 42 - "Community 42" -Cohesion: 0.19 -Nodes (32): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env() (+24 more) +Cohesion: 0.20 +Nodes (31): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env() (+23 more) ### Community 43 - "Community 43" Cohesion: 0.10 @@ -348,28 +356,28 @@ Cohesion: 0.11 Nodes (18): ApiCryptoMiddleware, ApiRequestLogMiddleware, _db_pool_keepalive_loop(), _error_json(), lifespan(), Exception, Request, 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误 (+10 more) ### Community 45 - "Community 45" -Cohesion: 0.09 -Nodes (69): _build_driver_url(), get_plan_arrange_info(), 获取计划已安排运输后的司机链接与地磅出入库关联(供查看弹窗复制简述/二维码)。, _apply_plan_logistics_from_payload(), _apply_transport_arrange_fields(), arrange_transport(), _assert_vehicle_carrier_eligible(), _build_arrange_result() (+61 more) +Cohesion: 0.10 +Nodes (58): _apply_plan_logistics_from_payload(), _apply_transport_arrange_fields(), arrange_transport(), _assert_vehicle_carrier_eligible(), _build_arrange_result(), _build_driver_url(), create_transport(), _ensure_driver_access_token() (+50 more) ### Community 46 - "Community 46" -Cohesion: 0.14 -Nodes (30): _apply_contract_entity_fields(), _build_contract_filters(), _build_customer_address(), _calc_amount_with_tax(), contract_no_exists(), _contract_period_key(), create_contract(), _decimal_value() (+22 more) +Cohesion: 0.19 +Nodes (16): align_contract_no_to_sign_date(), date, 标准编号替换日期段,保留序号;非标准返回 None。, 将标准合同编号日期段对齐签订日;撞号则序号顺延(含软删查重)。 非标准编号原样返回。无签订日则原样返回。, replace_contract_no_date(), _mock_last_contract(), 软删占用的编号仍占唯一索引,生成时须跳过(对齐 uk_contract_tenant_no)。, 取最大流水号须含软删,避免复用已软删的最大编号。 (+8 more) ### Community 48 - "Community 48" -Cohesion: 0.15 -Nodes (31): _apply_inventory_product_update(), _apply_inventory_update(), _base_query(), create_inventory(), create_link_for_plan(), delete_inventory(), _generate_batch_no(), _get_inventory() (+23 more) +Cohesion: 0.17 +Nodes (26): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, _apply_inventory_product_update(), _apply_inventory_update(), _base_query(), create_inventory(), create_link_for_plan(), delete_inventory(), _generate_batch_no() (+18 more) ### Community 49 - "Community 49" -Cohesion: 0.21 -Nodes (17): apply_crm_create_by_scope(), _apply_list_filters(), create_supplier_info(), list_all_supplier_info(), list_supplier_info(), Any, Session, CRM 供方信息 CRUD — 对照 CrmSupplierInfoServiceImpl.java (+9 more) +Cohesion: 0.22 +Nodes (17): _apply_list_filters(), create_supplier_info(), get_supplier_info(), list_all_supplier_info(), list_supplier_info(), Any, Session, CRM 供方信息 CRUD — 对照 CrmSupplierInfoServiceImpl.java (+9 more) ### Community 50 - "Community 50" -Cohesion: 0.17 -Nodes (8): 发送订单状态通知 Args: openid: 用户openid order_n, 发送支付成功通知 Args: openid: 用户openid order_n, 发送配送通知 Args: openid: 配送员openid task_no:, 发送配送时效预警 Args: openid: 配送员openid task_n, 发送退款结果通知 Args: openid: 用户openid order_n, 发送催单通知给配送员 Args: deliver_openid: 配送员openid, 发送模板消息 Args: openid: 用户openid template_, WechatMessageService +Cohesion: 0.15 +Nodes (9): 微信消息通知服务 支持微信小程序模板消息推送 使用方式: from app.core.wechat_message import WechatMes, 发送订单状态通知 Args: openid: 用户openid order_n, 发送支付成功通知 Args: openid: 用户openid order_n, 发送配送通知 Args: openid: 配送员openid task_no:, 发送配送时效预警 Args: openid: 配送员openid task_n, 发送退款结果通知 Args: openid: 用户openid order_n, 发送催单通知给配送员 Args: deliver_openid: 配送员openid, 发送模板消息 Args: openid: 用户openid template_ (+1 more) ### Community 51 - "Community 51" -Cohesion: 0.14 -Nodes (37): PlPlanProduct, 计划产品明细表 pl_plan_product, PlanArchiveProductItem, PlanProductCreate, PlanTransportCreateBlock, all_hazard_products_cert_complete(), apply_archive_product_quantities(), _apply_payload_to_transport_row() (+29 more) +Cohesion: 0.10 +Nodes (62): create_plan_full(), _generate_notify_message(), list_plans(), 列表展示用:优先 CRM 标准名(详情仍返回库内 product_name,以便编辑反推别名)。, 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), _resolve_list_product_name(), update_plan(), PlPlan (+54 more) ### Community 52 - "Community 52" Cohesion: 0.18 @@ -380,28 +388,28 @@ Cohesion: 0.09 Nodes (41): 报销模块认证适配:门户 JWT 用户 → bx 业务上下文。, BxReimburseInvoice, BxReimburseOffset, BxWorkflowNode, 报销(bx)模块数据模型 — 对齐 docs/sql/20260606_bx_tables.sql, filter_current_cycle_approvals(), 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, 审批进度仅展示当前轮次;完整历史由 get_approval_history 返回。 (+33 more) ### Community 54 - "Community 54" -Cohesion: 0.19 -Nodes (28): _get_by_plan(), get_inbound(), get_inbound_by_plan(), _get_order(), get_outbound(), get_outbound_by_plan(), inbound_site_url(), list_inbound() (+20 more) +Cohesion: 0.18 +Nodes (29): _get_by_plan(), get_inbound(), get_inbound_by_plan(), _get_order(), get_outbound(), get_outbound_by_plan(), inbound_site_url(), list_inbound() (+21 more) ### Community 58 - "Community 58" Cohesion: 0.15 -Nodes (33): CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), _change_row_to_dict(), create_contract_change(), create_contract_template(), _enrich_change_rows(), execute_change(), export_contract_changes() (+25 more) +Nodes (35): CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), _change_row_to_dict(), create_contract_change(), create_contract_template(), _enrich_change_rows(), execute_change(), export_contract_changes() (+27 more) ### Community 59 - "Community 59" Cohesion: 0.20 Nodes (28): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env() (+20 more) ### Community 60 - "Community 60" -Cohesion: 0.15 -Nodes (24): cancel_apply(), create_apply(), create_record(), delete_applies(), delete_records(), get_apply(), get_record(), list_applies() (+16 more) +Cohesion: 0.07 +Nodes (51): operlog_detail(), operlog_list(), Session, 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), _user_info(), _claims_from_auth(), _format_body_bytes(), _persist_log() (+43 more) ### Community 61 - "Community 61" -Cohesion: 0.14 -Nodes (36): DbInboundOutbound, PlTransportDbLink, 运输-地磅出入库关联 pl_transport_db_link, parse_date_str(), _apply_plan_quantity_delta(), _create_db_inventory(), _create_db_plan(), DibangInventoryLinkResult (+28 more) +Cohesion: 0.15 +Nodes (30): DbPurchasePlan, apply_product_snapshot_to_plan(), ProductSnapshot, Session, 地磅模块 — CRM 产品解析与快照写入。, 校验 CRM 产品并返回名称/规格快照。新建单据 product_id 必填。, resolve_crm_product(), _apply_plan_quantity_delta() (+22 more) ### Community 62 - "Community 62" -Cohesion: 0.21 -Nodes (22): clear_target_products(), count_target_rows(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+14 more) +Cohesion: 0.20 +Nodes (19): cancel_apply(), create_apply(), create_disburse(), delete_applies(), delete_disburses(), get_apply(), get_disburse(), list_applies() (+11 more) ### Community 63 - "Community 63" Cohesion: 0.20 @@ -409,11 +417,11 @@ Nodes (13): create_expense_item(), delete_expense_item(), get_expense_item(), ge ### Community 64 - "Community 64" Cohesion: 0.04 -Nodes (168): clue_detail(), clue_export(), clue_follow_detail(), clue_follow_statistics(), clue_import(), clue_import_template(), clue_list(), clue_mine() (+160 more) +Nodes (184): clue_assign(), clue_check_convert(), clue_check_duplicate(), clue_convert(), clue_create(), clue_delete(), clue_detail(), clue_export() (+176 more) ### Community 65 - "Community 65" -Cohesion: 0.10 -Nodes (58): cancel_apply(), create_apply(), create_process(), delete_applies(), delete_processes(), get_apply(), get_process(), list_applies() (+50 more) +Cohesion: 0.19 +Nodes (34): PlVehicleMaintenanceApply, PlVehicleMaintenanceProcess, 车辆维保申请 pl_vehicle_maintenance_apply, 车辆维保处理登记 pl_vehicle_maintenance_process, VehicleMaintenanceApplyRead, VehicleMaintenanceProcessBoardItem, apply_to_read(), _assert_vehicle_exists() (+26 more) ### Community 66 - "Community 66" Cohesion: 0.15 @@ -421,15 +429,15 @@ Nodes (24): create_workflow(), delete_workflow(), get_workflow(), get_workflow_b ### Community 67 - "Community 67" Cohesion: 0.17 -Nodes (17): CertRead, SnapshotCertRead, SnapshotPersonnelRow, build_personnel_summary(), load_vehicle_personnel_rows(), load_vehicle_personnel_summaries(), Session, 运输计划 - 人员 upsert 与车辆-人员关联保存 (+9 more) +Nodes (21): _build_public_page(), _format_file_size(), _format_plan_date(), get_public_transport(), _get_transport_by_token(), _parse_feedback_images(), Session, UploadFile (+13 more) ### Community 68 - "Community 68" -Cohesion: 0.21 -Nodes (23): create_vehicle(), get_vehicle(), paste_recognize_commit(), update_vehicle(), _vehicle_to_detail(), _vehicle_to_read(), PlVehicle, VehicleDetailRead (+15 more) +Cohesion: 0.13 +Nodes (38): bind_vehicle_driver(), create_vehicle(), get_vehicle(), paste_recognize_commit(), update_vehicle(), _vehicle_to_detail(), _vehicle_to_read(), generate_uuid() (+30 more) ### Community 69 - "Community 69" -Cohesion: 0.15 -Nodes (27): _append_user_scope_conditions(), apply_data_scope(), assert_row_in_data_scope(), _collect_scope_ids(), _get_child_dept_ids(), get_user_dept_id(), Session, 数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3 (+19 more) +Cohesion: 0.13 +Nodes (29): _append_user_scope_conditions(), apply_data_scope(), assert_row_in_data_scope(), _collect_scope_ids(), _get_child_dept_ids(), get_user_dept_id(), Session, 数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3 (+21 more) ### Community 70 - "Community 70" Cohesion: 0.39 @@ -437,43 +445,43 @@ Nodes (10): create_post(), get_post(), list_posts(), post_code_exists(), Any, Se ### Community 71 - "Community 71" Cohesion: 0.10 -Nodes (35): CRM 报价单 API 路由 — 挂接到 crm.router, 接口菜单权限守卫。super_admin 直接放行。, require_menu_code(), total_pages(), QuoteApproverSettingSaveBody, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody (+27 more) +Nodes (33): CRM 报价单 API 路由 — 挂接到 crm.router, total_pages(), QuoteApproverSettingSaveBody, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody, QuoteApprovalRefreshNamesBody, QuoteApprovalWithdrawBody (+25 more) ### Community 72 - "Community 72" -Cohesion: 0.19 -Nodes (28): apply_biz_backfill(), BackfillRule, BizRef, build_biz_index(), count_target_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows() (+20 more) +Cohesion: 0.17 +Nodes (30): apply_biz_backfill(), BackfillRule, BizRef, build_biz_index(), count_target_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows() (+22 more) ### Community 73 - "Community 73" Cohesion: 0.20 Nodes (25): derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env(), load_user_mapping() (+17 more) ### Community 74 - "Community 74" -Cohesion: 0.10 -Nodes (27): generate_uuid(), get_current_time(), parse_datetime(), datetime, allocate_next_biz_no(), _format_biz_no(), _prefix_for(), datetime (+19 more) +Cohesion: 0.12 +Nodes (29): get_pool_record(), list_pool_records(), Any, Session, _row_to_dict(), total_pages(), create_pool_rule(), delete_pool_rules() (+21 more) ### Community 77 - "Community 77" Cohesion: 0.11 Nodes (12): get_wechat_pay_client(), get_wechat_pay_v2(), Any, 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.html, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total_amo, 申请退款 Args: out_trade_no: 商户订单号 total_amount: 订单, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 total_f (+4 more) ### Community 78 - "Community 78" -Cohesion: 0.08 -Nodes (25): clue_assign(), clue_convert(), clue_create(), clue_delete(), clue_follow_create(), clue_follow_delete(), clue_follow_list(), clue_follow_update() (+17 more) +Cohesion: 0.12 +Nodes (15): pool_rule_add(), pool_rule_delete(), pool_rule_detail(), pool_rule_execute(), pool_rule_list(), pool_rule_update(), pool_rule_update_status(), PoolRuleAddBody (+7 more) ### Community 81 - "Community 81" -Cohesion: 0.24 -Nodes (20): register_quote_routes(), accept_quote(), _ensure_quote_in_scope(), generate_pdf(), generate_share(), get_quote(), get_quote_detail(), _get_quote_in_scope() (+12 more) +Cohesion: 0.17 +Nodes (24): cancel_apply(), create_apply(), create_process(), delete_applies(), delete_processes(), get_apply(), get_process(), list_applies() (+16 more) ### Community 83 - "Community 83" -Cohesion: 0.15 -Nodes (30): _advance_contract_after_approval(), approve_contract(), approve_contract_by_contract_id(), approve_pass(), approve_reject(), approve_transfer(), _build_approval_list_filters(), can_user_approve() (+22 more) +Cohesion: 0.17 +Nodes (28): _advance_contract_after_approval(), approve_contract(), approve_contract_by_contract_id(), approve_pass(), approve_reject(), approve_transfer(), _build_approval_list_filters(), can_user_approve() (+20 more) ### Community 84 - "Community 84" Cohesion: 0.23 Nodes (23): build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str(), main(), map_id() (+15 more) ### Community 86 - "Community 86" -Cohesion: 0.19 -Nodes (26): _apply_weighing_product_update(), _apply_weighing_update(), _base_query(), create_weighing(), delete_weighing(), _get_weighing(), get_weighing_related(), list_weighing() (+18 more) +Cohesion: 0.17 +Nodes (28): _apply_weighing_product_update(), _apply_weighing_update(), _base_query(), create_weighing(), delete_weighing(), _get_weighing(), get_weighing_related(), list_weighing() (+20 more) ### Community 87 - "Community 87" Cohesion: 0.20 @@ -481,23 +489,23 @@ Nodes (19): approve_quote(), can_user_approve(), create_approval_records(), dele ### Community 88 - "Any" Cohesion: 0.18 -Nodes (31): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), legacy_parent_id(), load_oss_id_to_url(), load_runtime_settings() (+23 more) +Nodes (30): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), legacy_parent_id(), load_oss_id_to_url(), load_runtime_settings() (+22 more) ### Community 89 - "pl_ocr_service.py" Cohesion: 0.19 Nodes (22): PlOcrUsageMonth, 阿里云 OCR 月度调用计数 pl_ocr_usage_month(按自然月全局统计), assert_quota_available(), _build_ocr_client(), compress_image_bytes(), current_usage_month(), _first_attachment_url(), get_or_create_usage_row() (+14 more) ### Community 91 - "pl_vehicle_recharge_service.py" -Cohesion: 0.09 -Nodes (61): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, register_contract_routes(), batch_assign_owner(), batch_submit_contract_approval(), contract_row_to_dict(), create_from_opportunity(), create_from_quote(), download_contract_pdf() (+53 more) +Cohesion: 0.07 +Nodes (88): register_contract_routes(), _apply_contract_entity_fields(), delete_pending_approvals(), Java: withdraw — 软删除 pending 审批, batch_assign_owner(), batch_submit_contract_approval(), _build_contract_filters(), _build_contract_name_from_parties() (+80 more) ### Community 92 - "Community 92" Cohesion: 0.16 Nodes (25): 验证密码(哈希非 bcrypt 或损坏时返回 False,避免抛错), verify_password(), change_password(), create_user(), get_user(), get_user_with_relations(), _hash_password(), list_post_ids_for_user() (+17 more) ### Community 93 - "_invoice_info_by_customer_impl" -Cohesion: 0.36 -Nodes (15): create_opportunity_follow(), _ensure_parent_opportunity(), get_opportunity_follow(), list_follows_by_opportunity(), list_opportunity_follows(), _parse_optional_datetime(), Any, datetime (+7 more) +Cohesion: 0.19 +Nodes (19): cancel_apply(), create_apply(), create_record(), delete_applies(), delete_records(), get_apply(), get_record(), list_applies() (+11 more) ### Community 94 - "response.py" Cohesion: 0.22 @@ -508,8 +516,8 @@ Cohesion: 0.35 Nodes (11): create_tenant(), get_tenant(), list_tenants(), Any, Session, _row_to_dict(), soft_delete_tenant(), tenant_no_exists() (+3 more) ### Community 97 - "_ensure_subpack_slip_no" -Cohesion: 0.10 -Nodes (44): approve_carrier(), create_carrier(), create_driver(), get_carrier(), get_driver(), list_carriers(), list_drivers(), _personnel_to_driver_read() (+36 more) +Cohesion: 0.21 +Nodes (22): clear_target_products(), count_target_rows(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+14 more) ### Community 100 - "price_letter_detail" Cohesion: 0.27 @@ -528,28 +536,28 @@ Cohesion: 0.29 Nodes (15): create_price_letter(), get_price_letter(), list_price_letters(), _parse_date(), Any, date, Session, _row_to_dict() (+7 more) ### Community 105 - "list_customers" -Cohesion: 0.21 -Nodes (23): bind_vehicle_driver(), create_personnel(), get_personnel(), list_personnel(), list_vehicles(), _personnel_to_detail(), _personnel_to_read(), Session (+15 more) +Cohesion: 0.13 +Nodes (27): list_personnel(), list_vehicles(), PlCert, PlDocumentReminder, 证件到期提醒表 pl_document_reminder, CertRead, SnapshotCertRead, SnapshotPersonnelRow (+19 more) ### Community 106 - "Community 106" -Cohesion: 0.42 -Nodes (11): _enrich_follow_dict(), get_follow(), list_follows(), list_follows_by_customer(), Any, Session, _row_to_dict(), soft_delete_follow() (+3 more) +Cohesion: 0.24 +Nodes (20): register_quote_routes(), accept_quote(), _ensure_quote_in_scope(), generate_pdf(), generate_share(), get_quote(), get_quote_detail(), _get_quote_in_scope() (+12 more) ### Community 107 - "apply_pl_scope" -Cohesion: 0.23 -Nodes (19): create_contact(), get_contact(), list_contacts_by_customer(), _parse_optional_date(), Any, date, Session, _row_to_dict() (+11 more) +Cohesion: 0.30 +Nodes (12): PlCarrier, assert_carrier_eligible_for_transport(), carrier_agreement_expired(), carrier_audit_approved(), carrier_eligible_for_transport(), carrier_qualification_complete(), date, 资质附件均为选填,保留函数签名供兼容调用。 (+4 more) ### Community 109 - "Community 109" Cohesion: 0.35 Nodes (11): create_dict_type(), dict_type_code_exists(), get_dict_type(), list_dict_types(), Any, Session, 字典类型 CRUD(sys_dict_type), _row_to_dict() (+3 more) ### Community 110 - "Base" -Cohesion: 0.23 -Nodes (13): get_user_menu_codes(), Session, 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, _expand_with_ancestor_menu_ids(), _granted_menu_ids_for_user(), iter_user_menu_perm_codes(), Session, Web 管理端登录:基于 V0.3 sys_user / sys_user_role / sys_role 的角色与菜单权限解析 (+5 more) +Cohesion: 0.16 +Nodes (19): get_web_auth_menu_codes(), 获取当前用户菜单权限标识(sys_menu.perms,经角色继承)。, get_user_menu_codes(), Session, 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, _expand_with_ancestor_menu_ids(), _granted_menu_ids_for_user(), iter_user_menu_perm_codes() (+11 more) ### Community 111 - "Community 111" -Cohesion: 0.28 -Nodes (14): _assert_editable(), _build_public_page(), _format_file_size(), _get_inventory_by_token(), get_public_inventory(), _parse_feedback_images(), Session, UploadFile (+6 more) +Cohesion: 0.21 +Nodes (17): _assert_editable(), _build_public_page(), _format_file_size(), _get_inventory_by_token(), get_public_inventory(), _parse_feedback_images(), Session, UploadFile (+9 more) ### Community 112 - "storage.py" Cohesion: 0.12 @@ -560,56 +568,56 @@ Cohesion: 0.26 Nodes (12): list_share_logs(), _parse_user_agent(), Any, Session, CRM 报价单分享访问日志 CRUD — 对照 CrmQuoteShareLogServiceImpl.java, Java: statisticsVisits, 简易 User-Agent 解析(替代 Hutool UserAgentUtil), Java: queryLogsByQuoteId (+4 more) ### Community 114 - "db_models.py" -Cohesion: 0.24 -Nodes (12): DbSequence, 地磅(db)模块数据模型 — 对齐 docs/sql/db_tables.sql, _allocate_inbound_outbound_id(), _ensure_sequence_row(), max_numeric_inbound_outbound_id(), next_inbound_outbound_id(), Session, 出入库单 id 生成 — 租户内纯数字自增,并发安全。 (+4 more) +Cohesion: 0.16 +Nodes (17): list_public_vehicle_plates(), Session, 地磅公共只读:免登车牌 options(现场填写页), 免登:按出入库/计划解析 tenant_no,返回 pl_vehicle 车牌(self + carrier)。, _resolve_tenant_no(), DbSequence, 地磅(db)模块数据模型 — 对齐 docs/sql/db_tables.sql, _allocate_inbound_outbound_id() (+9 more) ### Community 115 - "site.py" Cohesion: 0.28 Nodes (17): _address_to_read(), _build_address_query(), create_transport_address(), delete_transport_address(), _get_address(), get_transport_address(), list_all_transport_addresses(), list_transport_addresses() (+9 more) ### Community 116 - "Community 116" -Cohesion: 0.19 -Nodes (25): calculate_subtotal(), _decimal_value(), delete_products_by_quote_id(), _ensure_quote_parent_scope(), _get_field(), get_quote_product(), insert_quote_product(), list_quote_products() (+17 more) +Cohesion: 0.22 +Nodes (23): calculate_subtotal(), _decimal_value(), _ensure_quote_parent_scope(), _get_field(), get_quote_product(), insert_quote_product(), list_quote_products(), normalize_line_brand() (+15 more) ### Community 118 - "Community 118" Cohesion: 0.22 -Nodes (22): batch_insert_contract_products(), calculate_subtotal(), _decimal_value(), delete_price_tiers_by_contract_id(), delete_products_by_contract_id(), _get_field(), insert_contract_product(), _letter_oss_ids_to_json() (+14 more) +Nodes (21): batch_insert_contract_products(), calculate_subtotal(), _decimal_value(), delete_price_tiers_by_contract_id(), delete_products_by_contract_id(), _get_field(), insert_contract_product(), _letter_oss_ids_to_json() (+13 more) ### Community 119 - "Community 119" Cohesion: 0.16 -Nodes (29): CertRow, VehiclePersonnelRow, _cert_row_complete(), collect_required_cert_errors(), _find_cert_for_required(), get_required_personnel_cert_names(), match_required_cert_name(), _missing_field_labels() (+21 more) +Nodes (28): CertRow, _cert_row_complete(), collect_required_cert_errors(), _find_cert_for_required(), get_required_personnel_cert_names(), match_required_cert_name(), _missing_field_labels(), Session (+20 more) ### Community 122 - "Community 122" -Cohesion: 0.38 -Nodes (13): ensure_crm_customer_linked_row_in_scope(), 客户子表(开票信息等):先校验关联客户 owner scope,否则校验 create_by。, _clear_default_for_customer(), create_invoice_info(), get_invoice_info(), list_invoice_info_by_customer(), Any, Session (+5 more) +Cohesion: 0.29 +Nodes (16): ensure_crm_customer_linked_row_in_scope(), ensure_crm_owner_row_in_scope(), Session, CRM 数据权限辅助(负责人 owner_user_id + 标准 create_by/create_dept_id)。, 客户子表(开票信息等):先校验关联客户 owner scope,否则校验 create_by。, _clear_default_for_customer(), create_invoice_info(), get_invoice_info() (+8 more) ### Community 125 - "Community 125" -Cohesion: 0.06 -Nodes (66): _generate_notify_message(), _build_page(), _get_by_token(), _make_handlers(), _models(), Session, 运输计划 · 入库/出库单现场免登录公共 API, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义) (+58 more) +Cohesion: 0.08 +Nodes (45): _build_page(), _get_by_token(), _make_handlers(), _models(), Session, 运输计划 · 入库/出库单现场免登录公共 API, DbInboundOutbound, PlInboundOrder (+37 more) ### Community 126 - "customer_pool.py" -Cohesion: 0.45 -Nodes (11): _customer_base_query(), get_follow_statistics(), get_industry_statistics(), get_level_statistics(), get_overview_statistics(), get_owner_statistics(), get_source_statistics(), get_trend_statistics() (+3 more) +Cohesion: 0.19 +Nodes (19): invoice_info_by_customer(), _invoice_info_by_customer_impl(), invoice_info_delete(), invoice_info_list(), 按客户ID查询开票信息(与 by-customer 等价), _customer_base_query(), get_follow_statistics(), get_industry_statistics() (+11 more) ### Community 127 - "Community 127" -Cohesion: 0.26 -Nodes (18): _cargo_stats(), get_dashboard_stats(), get_inbound_by_cargo(), get_inbound_by_partner_cargo(), get_outbound_by_cargo(), get_outbound_by_partner_cargo(), _partner_cargo_stats(), Session (+10 more) +Cohesion: 0.38 +Nodes (14): _cargo_stats(), get_dashboard_stats(), get_inbound_by_cargo(), get_inbound_by_partner_cargo(), get_outbound_by_cargo(), get_outbound_by_partner_cargo(), _partner_cargo_stats(), Session (+6 more) ### Community 128 - "plan.py" Cohesion: 0.39 Nodes (10): create_site(), get_site(), list_sites(), Any, Session, _row_to_dict(), site_code_exists(), soft_delete_site() (+2 more) ### Community 129 - "BaseStorage" -Cohesion: 0.29 -Nodes (14): create_clue_follow(), delete_clue_follow(), get_clue_follow(), get_follow_statistics(), list_clue_follows(), Any, Session, 更新线索跟进记录,必要时同步线索 next_time (+6 more) +Cohesion: 0.18 +Nodes (17): generate_contract_name(), 按面板单位全称精确匹配交易主体/客户主数据,取 shortName;对不上则用全称。, 按面板供方(partyA)-需方(partyB)生成:{供方简称}-{需方简称}({合同编号})。, resolve_party_short_name(), 合同名称按供需方面板(partyA/partyB)解析简称。, 避免「山峡」子串误匹配客户全称中的山峡二字到交易主体。, 调换后供方=辉隆、需方=山峡 → 辉隆-山峡(编号),不因类型反序。, test_generate_empty_default_party_order() (+9 more) ### Community 130 - "datetime_parse.py" -Cohesion: 0.15 -Nodes (18): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, StartInstanceBody, 流程实例 wf_process_instance, WfNode, WfProcessInstance, WfTask (+10 more) +Cohesion: 0.24 +Nodes (7): camel_to_snake(), CRUDBase, get_model_attr(), HistoryCRUD, Any, Session, ModelType ### Community 131 - "LocalStorage" -Cohesion: 0.50 -Nodes (4): ApiRequestLogCRUD, Session, SysApiRequestLog, SysApiRequestLogHis +Cohesion: 0.29 +Nodes (16): create_contact(), get_contact(), list_contacts_by_customer(), _parse_optional_date(), Any, date, Session, _row_to_dict() (+8 more) ### Community 132 - "crm_supplier_hazard.py" Cohesion: 0.29 @@ -620,12 +628,12 @@ Cohesion: 0.25 Nodes (18): batch_generate_sample_codes(), batch_issue_sample_codes(), batch_revoke_sample_codes(), create_sample_code(), get_sample_code(), list_sample_codes(), _parse_issued_time(), Any (+10 more) ### Community 135 - "post.py" -Cohesion: 0.24 -Nodes (12): get_last_month_range(), month_range(), date, Session, 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla, 按月自动生成采购计划。 - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) - 遍历所有租户,按上月计划模板生, run_auto_generate_monthly_plans(), default_execution_status() (+4 more) +Cohesion: 0.16 +Nodes (15): get_current_time(), parse_datetime(), datetime, get_last_month_range(), month_range(), date, Session, 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla (+7 more) ### Community 136 - "Community 136" -Cohesion: 0.15 -Nodes (22): create_role(), get_role(), get_role_data_scope(), get_role_menu_ids(), list_roles(), Any, Session, 角色 CRUD(sys_role / sys_role_menu / sys_role_data_scope_detail) (+14 more) +Cohesion: 0.19 +Nodes (18): create_role(), get_role(), get_role_data_scope(), get_role_menu_ids(), list_roles(), Any, Session, 角色 CRUD(sys_role / sys_role_menu / sys_role_data_scope_detail) (+10 more) ### Community 137 - "statistics.py" Cohesion: 0.09 @@ -636,78 +644,78 @@ Cohesion: 0.33 Nodes (19): check_python(), create_venv(), ensure_dirs(), ensure_valid_venv(), ensure_venv_and_runtime(), install_dependencies(), is_running(), log_error() (+11 more) ### Community 139 - "Community 139" -Cohesion: 0.23 -Nodes (13): align_contract_no_to_sign_date(), generate_contract_no(), date, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}, 标准编号替换日期段,保留序号;非标准返回 None。, 将标准合同编号日期段对齐签订日;撞号则序号顺延(含软删查重)。 非标准编号原样返回。无签订日则原样返回。, replace_contract_no_date(), test_align_bumps_seq_when_occupied() (+5 more) +Cohesion: 0.29 +Nodes (11): normalize_attachment_csv(), normalize_attachment_csv(), extract_minio_object_key(), join_relative_urls(), MinIO 附件 URL 规范化(数据迁移共用)。 背景 ---- CRM / 地磅 / 报销与 shanxia2.0 共用同一 MinIO(bucket 默, 业务表 OSS ID 串 → 相对 URL 串(用于客户证照、跟进附件等)。, 去掉预签名 query(``?X-Amz-...``)。, 将绝对/相对 URL 规范为 MinIO object key(不含 bucket)。 (+3 more) ### Community 141 - "clue_statistics.py" -Cohesion: 0.31 -Nodes (15): ensure_crm_create_by_row_in_scope(), create_pool_rule(), delete_pool_rules(), execute_pool_rules(), _execute_single_rule(), get_pool_rule(), list_pool_rules(), Any (+7 more) +Cohesion: 0.28 +Nodes (15): create_clue_follow(), delete_clue_follow(), get_clue_follow(), get_follow_statistics(), list_clue_follows(), Any, Session, 更新线索跟进记录,必要时同步线索 next_time (+7 more) ### Community 143 - "SysEthnic" Cohesion: 0.33 Nodes (11): create_leave(), get_leave(), list_leaves(), Any, Session, _row_to_dict(), soft_delete_leave(), update_leave() (+3 more) ### Community 144 - "SysApiRequestLog" -Cohesion: 0.15 -Nodes (14): invoice_info_add(), invoice_info_by_customer(), _invoice_info_by_customer_impl(), invoice_info_delete(), invoice_info_list(), invoice_info_set_default(), invoice_info_update(), 按客户ID查询开票信息(与 by-customer 等价) (+6 more) +Cohesion: 0.27 +Nodes (11): customer_dealed(), customer_export(), customer_key(), customer_list(), customer_long_time_no_follow(), customer_mine(), customer_to_follow(), customer_week_new() (+3 more) ### Community 145 - "minio_url.py" -Cohesion: 0.21 -Nodes (14): change_current_user_password(), get_current_user_profile(), get_web_auth_menu_codes(), public_quote_share(), Request, Session, 获取当前用户信息(与 sys_user 字段对应)。, 获取当前用户菜单权限标识(sys_menu.perms,经角色继承)。 (+6 more) +Cohesion: 0.17 +Nodes (11): pool_customer_assign(), pool_customer_claim(), pool_customer_list(), pool_record_detail(), pool_record_list(), PoolAssignBody, PoolClaimBody, PoolCustomerListBody (+3 more) ### Community 146 - "__init__.py" -Cohesion: 0.49 -Nodes (10): clue_statistics_level(), _apply_create_range(), _base_query(), get_clue_level_statistics(), get_clue_overview_statistics(), get_clue_owner_statistics(), get_clue_source_statistics(), get_clue_trend_statistics() (+2 more) +Cohesion: 0.58 +Nodes (9): _apply_create_range(), _base_query(), get_clue_level_statistics(), get_clue_overview_statistics(), get_clue_owner_statistics(), get_clue_source_statistics(), get_clue_trend_statistics(), Any (+1 more) ### Community 147 - "Community 147" Cohesion: 0.37 Nodes (17): check_env(), check_python(), create_venv(), init_env(), install_dependencies(), log_error(), log_info(), log_success() (+9 more) ### Community 150 - "ContractListQuery" -Cohesion: 0.27 -Nodes (11): customer_dealed(), customer_export(), customer_key(), customer_list(), customer_long_time_no_follow(), customer_mine(), customer_to_follow(), customer_week_new() (+3 more) +Cohesion: 0.17 +Nodes (11): price_letter_add(), price_letter_detail(), price_letter_list(), price_letter_update(), price_letter_void(), PriceLetterCreateBody, PriceLetterDetailBody, PriceLetterListBody (+3 more) ### Community 152 - "MinIOStorage" Cohesion: 0.24 Nodes (5): MinIOStorage, Any, 从 MINIO_BASE_URL 解析公网 endpoint;未配置或与内网相同时复用 self.client。, MinIO 预签名下载 URL,携带原始文件名。, MinIO 预签名内联预览 URL(PDF 等 iframe 场景)。 ### Community 154 - "PlCarrier" -Cohesion: 0.30 -Nodes (12): PlCarrier, assert_carrier_eligible_for_transport(), carrier_agreement_expired(), carrier_audit_approved(), carrier_eligible_for_transport(), carrier_qualification_complete(), date, 资质附件均为选填,保留函数签名供兼容调用。 (+4 more) +Cohesion: 0.09 +Nodes (52): approve_carrier(), create_carrier(), create_driver(), create_personnel(), delete_driver(), delete_personnel(), delete_vehicle(), get_carrier() (+44 more) ### Community 156 - "get_client_ip" Cohesion: 0.27 Nodes (11): create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options(), Any, Session, 字典数据 CRUD(sys_dict_data), 字典下拉选项:租户主数据,忽略数据范围(user_info 保留兼容调用方,不参与过滤)。 (+3 more) ### Community 159 - "minio_url.py" -Cohesion: 0.24 -Nodes (11): extract_minio_object_key(), join_relative_urls(), normalize_oss_storage_url(), MinIO 附件 URL 规范化(数据迁移共用)。 背景 ---- CRM / 地磅 / 报销与 shanxia2.0 共用同一 MinIO(bucket 默, 业务表 OSS ID 串 → 相对 URL 串(用于客户证照、跟进附件等)。, 去掉预签名 query(``?X-Amz-...``)。, 将绝对/相对 URL 规范为 MinIO object key(不含 bucket)。, 迁移 CRM ``sys_oss`` 行:``url`` + ``file_name`` → 门户相对路径。 (+3 more) +Cohesion: 0.49 +Nodes (10): apply_pl_scope(), Session, build_menu_badge_counts(), count_document_reminder_expired_pending(), count_freight_approval_pending(), count_freight_disburse_pending(), _count_pending_applies(), count_plan_archive_pending() (+2 more) ### Community 160 - "register_local_callback" -Cohesion: 0.12 -Nodes (23): create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), Session, submit_leave() (+15 more) +Cohesion: 0.13 +Nodes (21): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), Session (+13 more) ### Community 161 - "backfill_crm_contract_attachment_urls.py" Cohesion: 0.33 Nodes (10): load_oss_map(), load_runtime_settings(), load_settings_env(), main(), Any, Engine, 返回 (新值, 是否发生了 id→url 替换)。, resolve_token() (+2 more) ### Community 162 - "crm_models.py" -Cohesion: 0.36 -Nodes (9): create_oss(), get_oss_by_id(), get_oss_by_url(), Session, 按主键 id 查询附件(兼容旧 CRM 雪花 oss_id 迁入后的记录), 将 fileUrl 或旧 CRM 数字 ossId 解析为 MinIO 相对路径。 门户新上传把相对路径写入业务字段;迁入合同附件仍存数字 ossId, resolve_storage_path(), CRM 模块数据模型(产品分类、产品主表、统一附件表、客户管理、公海池、线索管理) (+1 more) +Cohesion: 0.17 +Nodes (15): change_current_user_password(), get_current_user_profile(), public_quote_share(), Request, Session, 获取当前用户信息(与 sys_user 字段对应)。, 公开分享查看报价单 — Java: GET /share/{shareCode}(无 JWT), get_current_user() (+7 more) ### Community 163 - "login_crypto.py" -Cohesion: 0.18 -Nodes (11): Config, decrypt_login_payload(), ensure_initialized(), extract_login_credentials(), get_public_pem(), Any, 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。, Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。 (+3 more) +Cohesion: 0.31 +Nodes (9): decrypt_login_payload(), ensure_initialized(), extract_login_credentials(), get_public_pem(), Any, 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。, Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。, 从请求体解析用户名、密码。 返回 (username, password, error_message);error_message 非空时表示失败。 (+1 more) ### Community 164 - "ethnic.py" -Cohesion: 0.47 -Nodes (5): list_ethnics(), Any, Session, 民族码表 CRUD(全局 sys_ethnic), _row_to_dict() +Cohesion: 0.08 +Nodes (34): ApiRequestLogCRUD, Session, list_ethnics(), Any, Session, 民族码表 CRUD(全局 sys_ethnic), _row_to_dict(), SoftDeleteModel (+26 more) ### Community 170 - "test_quote_approver_setting.py" -Cohesion: 0.20 -Nodes (21): _assert_users_exist(), get_setting(), Any, Session, _row_to_dict(), save_setting(), _assert_users_exist(), get_setting() (+13 more) +Cohesion: 0.18 +Nodes (22): _assert_users_exist(), get_setting(), Any, Session, _row_to_dict(), save_setting(), _assert_users_exist(), get_setting() (+14 more) -### Community 171 - "BaseStorage" +### Community 172 - "LocalStorage" Cohesion: 0.22 Nodes (3): BaseStorage, 带下载文件名的访问 URL;默认实现为普通访问地址。, 浏览器内联预览 URL;默认实现为普通访问地址。 @@ -716,17 +724,49 @@ Cohesion: 0.67 Nodes (3): parse_optional_plan_datetime(), datetime, 运输计划相关日期时间解析:前端 date-picker 仅传 YYYY-MM-DD。 ### Community 174 - "datetime_parse.py" -Cohesion: 0.12 -Nodes (27): _build_public_page(), _format_file_size(), _format_plan_date(), get_public_transport(), _get_transport_by_token(), _parse_feedback_images(), Session, UploadFile (+19 more) +Cohesion: 0.20 +Nodes (14): _build_driver_url(), get_plan_arrange_info(), 获取计划已安排运输后的司机链接与地磅出入库关联(供查看弹窗复制简述/二维码)。, apply_dibang_prefill_to_order(), build_io_order_site_url(), create_io_order_for_transport(), _dibang_qty_by_plan_product(), get_active_io_order_for_plan() (+6 more) + +### Community 178 - "product_allowed" +Cohesion: 0.24 +Nodes (13): get_product(), soft_delete_product(), assert_products_allowed_for_supplier(), enrich_products_with_hazard_flags(), get_supplier_hazard_flags(), product_allowed(), Any, Session (+5 more) ### Community 179 - "_ensure_subpack_slip_no" -Cohesion: 0.06 -Nodes (84): archive_plan(), cancel_plan(), cancel_plan_wait_notice(), count_plans_by_contract(), create_from_contract(), create_plan(), create_plan_full(), _determine_plan_type() (+76 more) +Cohesion: 0.08 +Nodes (63): archive_plan(), cancel_plan(), cancel_plan_wait_notice(), count_plans_by_contract(), create_from_contract(), create_plan(), _determine_plan_type(), _ensure_subpack_slip_no() (+55 more) ### Community 180 - "menu.py" Cohesion: 0.36 Nodes (13): _build_tree(), _cascade_soft_delete(), create_menu(), get_menu(), list_menus(), list_menus_tree(), menu_name_exists(), Any (+5 more) +### Community 181 - "storage.py" +Cohesion: 0.31 +Nodes (13): PlInventory, PlInventoryTransaction, 库存流水表 pl_inventory_transaction, apply_archive_inventory_for_plan(), apply_brand_stock_change(), get_or_create_inventory(), Decimal, Session (+5 more) + +### Community 182 - "QiniuStorage" +Cohesion: 0.40 +Nodes (12): create_follow(), _enrich_follow_dict(), get_follow(), list_follows(), list_follows_by_customer(), Any, Session, _row_to_dict() (+4 more) + +### Community 183 - "assert_products_allowed_for_supplier" +Cohesion: 0.40 +Nodes (12): apply_site_feedback(), 更新明细实际数量,并按需校验/持久化现场品牌数量。, update_io_order_items_qty_and_brand(), OrderItem, _header(), _item(), test_apply_site_feedback_does_not_reset_first_submitted_at(), test_apply_site_feedback_keeps_in_progress_when_requested() (+4 more) + +### Community 184 - "pl_transport_site_service.py" +Cohesion: 0.29 +Nodes (9): _plan_type_to_business_type(), _normalize_plan_date(), date, Session, 运输计划 · 工厂现场链接(与地磅出入库单解耦), 入库/出库安排运输:按产品生成现场链接(不写 db_inbound_outbound)。, revoke_site_links_for_transport(), sync_site_links_for_transport() (+1 more) + +### Community 187 - "allocate_next_biz_no" +Cohesion: 0.33 +Nodes (8): allocate_next_biz_no(), _format_biz_no(), _prefix_for(), datetime, Session, 业务协议号自动生成:XBCC / JZCC + YYYYMMDD + 6 位序号, 原子分配下一个业务协议号。 须在 create 事务内调用;使用 MySQL LAST_INSERT_ID 保证并发安全。, BizNoKind + +### Community 188 - "oss.py" +Cohesion: 0.47 +Nodes (8): create_oss(), get_oss_by_id(), get_oss_by_url(), Session, 按主键 id 查询附件(兼容旧 CRM 雪花 oss_id 迁入后的记录), 将 fileUrl 或旧 CRM 数字 ossId 解析为 MinIO 相对路径。 门户新上传把相对路径写入业务字段;迁入合同附件仍存数字 ossId, resolve_storage_path(), SysOss + +### Community 191 - "CrmProductBrand" +Cohesion: 0.46 +Nodes (7): CrmProductBrand, apply_updates(), collect_candidates(), main(), parse_name(), Path, write_csv() + ### Community 206 - "crm_quote_pdf.py" Cohesion: 0.36 Nodes (10): build_quote_html(), _default_value(), _format_date(), _format_discount(), _format_money(), generate_quote_pdf(), _get_pdf_styles(), Any (+2 more) @@ -736,8 +776,8 @@ Cohesion: 0.18 Nodes (10): 1. 创建虚拟环境, 2. 安装依赖, 3. 配置环境变量, 4. 启动服务, API 路由分组, shanxia2.0 后端骨架(FastAPI), 开发规范, 快速开始 (+2 more) ### Community 220 - "api_crypto_middleware.py" -Cohesion: 0.15 -Nodes (21): _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client(), _is_crypto_api(), _json_error_response(), _mark_nonce_once(), _nonce_key(), Redis (+13 more) +Cohesion: 0.13 +Nodes (22): _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client(), _is_crypto_api(), _json_error_response(), _mark_nonce_once(), _nonce_key(), Redis (+14 more) ### Community 237 - "order_status_compat.py" Cohesion: 0.36 @@ -759,17 +799,17 @@ Nodes (6): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时 ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `generate_uuid()` connect `Community 74` to `plan.py`, `BaseStorage`, `Community 2`, `Community 4`, `Community 6`, `Community 134`, `Community 8`, `Community 136`, `post.py`, `Community 11`, `Community 7`, `clue_statistics.py`, `Community 13`, `SysEthnic`, `Community 15`, `Community 16`, `Community 19`, `Community 21`, `Community 25`, `Community 27`, `Community 28`, `get_client_ip`, `crm_models.py`, `Community 38`, `Community 39`, `test_quote_approver_setting.py`, `Community 43`, `Community 45`, `Community 46`, `Community 49`, `_ensure_subpack_slip_no`, `menu.py`, `Community 53`, `Community 51`, `Community 58`, `Community 61`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 70`, `Community 83`, `Community 86`, `Community 87`, `pl_ocr_service.py`, `pl_vehicle_recharge_service.py`, `Community 92`, `_invoice_info_by_customer_impl`, `Community 95`, `_ensure_subpack_slip_no`, `dept.py`, `apply_crm_create_by_scope`, `list_customers`, `Community 106`, `apply_pl_scope`, `Community 109`, `quote_share_log.py`, `db_models.py`, `site.py`, `Community 116`, `Community 118`, `Community 122`, `Community 125`?** - _High betweenness centrality (0.117) - this node is a cross-community bridge._ -- **Why does `Settings` connect `price_letter_detail` to `backfill_crm_contract_attachment_urls.py`, `login_crypto.py`, `crm_supplier_hazard.py`, `Community 35`, `Community 5`, `Community 7`, `Community 72`, `Community 73`, `Community 42`, `Community 52`, `Community 30`, `Any`, `Community 59`, `Community 62`?** +- **Why does `generate_uuid()` connect `Community 68` to `Community 0`, `plan.py`, `Community 2`, `LocalStorage`, `Community 4`, `Community 6`, `post.py`, `Community 8`, `Community 136`, `Community 134`, `Community 11`, `Community 7`, `clue_statistics.py`, `Community 13`, `SysEthnic`, `Community 15`, `Community 16`, `Community 19`, `Community 21`, `Community 25`, `PlCarrier`, `Community 27`, `get_client_ip`, `Community 28`, `Community 38`, `Community 39`, `test_quote_approver_setting.py`, `Community 43`, `Community 45`, `datetime_parse.py`, `Community 49`, `_ensure_subpack_slip_no`, `Community 51`, `menu.py`, `QiniuStorage`, `Community 53`, `storage.py`, `pl_transport_site_service.py`, `Community 58`, `allocate_next_biz_no`, `oss.py`, `Community 61`, `CrmProductBrand`, `Community 65`, `Community 66`, `Community 70`, `Community 74`, `Community 83`, `Community 86`, `Community 87`, `pl_ocr_service.py`, `pl_vehicle_recharge_service.py`, `Community 92`, `Community 95`, `dept.py`, `apply_crm_create_by_scope`, `list_customers`, `Community 109`, `quote_share_log.py`, `db_models.py`, `site.py`, `Community 116`, `Community 118`, `Community 122`, `Community 125`?** + _High betweenness centrality (0.114) - this node is a cross-community bridge._ +- **Why does `Settings` connect `price_letter_detail` to `backfill_crm_contract_attachment_urls.py`, `_ensure_subpack_slip_no`, `Community 35`, `crm_supplier_hazard.py`, `Community 5`, `Community 7`, `Community 72`, `Community 73`, `Community 42`, `Community 52`, `Any`, `Community 59`, `api_crypto_middleware.py`, `Community 30`?** _High betweenness centrality (0.110) - this node is a cross-community bridge._ -- **Why does `BaseModel` connect `Community 12` to `Community 0`, `Community 1`, `datetime_parse.py`, `Community 3`, `statistics.py`, `Community 11`, `Community 14`, `Community 15`, `SysApiRequestLog`, `Community 16`, `Community 18`, `ContractListQuery`, `Community 24`, `Community 26`, `Community 27`, `Community 28`, `register_local_callback`, `Community 33`, `Community 36`, `Community 43`, `Community 45`, `datetime_parse.py`, `Community 48`, `_ensure_subpack_slip_no`, `Community 51`, `Community 54`, `Community 58`, `Community 60`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 71`, `Community 78`, `Community 86`, `pl_vehicle_recharge_service.py`, `_ensure_subpack_slip_no`, `Community 111`, `storage.py`, `site.py`, `Community 119`, `Community 127`?** - _High betweenness centrality (0.094) - this node is a cross-community bridge._ +- **Why does `BaseModel` connect `Community 12` to `Community 0`, `Community 1`, `Community 3`, `statistics.py`, `Community 11`, `Community 14`, `Community 15`, `SysApiRequestLog`, `minio_url.py`, `Community 18`, `Community 16`, `ContractListQuery`, `Community 24`, `Community 26`, `Community 27`, `PlCarrier`, `Community 28`, `Community 29`, `register_local_callback`, `Community 33`, `Community 34`, `ethnic.py`, `Community 43`, `Community 45`, `Community 48`, `_ensure_subpack_slip_no`, `Community 51`, `Community 54`, `Community 58`, `Community 60`, `Community 62`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 71`, `Community 78`, `Community 81`, `Community 86`, `_invoice_info_by_customer_impl`, `list_customers`, `Community 111`, `storage.py`, `site.py`, `Community 119`, `customer_pool.py`, `Community 127`?** + _High betweenness centrality (0.107) - this node is a cross-community bridge._ - **Are the 8 inferred relationships involving `DbUserContext` (e.g. with `InventoryRelatedData` and `AutoGenerateMonthlyResult`) actually correct?** _`DbUserContext` has 8 INFERRED edges - model-reasoned connections that need verification._ - **What connects `API 路由包 — 山峡化工生产一体化门户`, `返回运营端角色下拉选项(label=库中角色名,value=Web 角色码)。`, `返回用户下拉选项(label=昵称,value=用户ID,附带 nickName/userNo)。 供申请人/审批人等选择场景使用,返回本租户全部有效` to the rest of the system?** - _504 weakly-connected nodes found - possible documentation gaps or missing edges._ -- **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.10821256038647344 - nodes in this community are weakly interconnected._ + _514 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.07881773399014778 - nodes in this community are weakly interconnected._ \ No newline at end of file + _Cohesion score 0.08367071524966262 - nodes in this community are weakly interconnected._ +- **Should `Community 2` be split into smaller, more focused modules?** + _Cohesion score 0.14979757085020243 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/backend/graphify-out/2026-08-04/graph.json b/backend/graphify-out/2026-08-04/graph.json index 10425a474..608174c41 100644 --- a/backend/graphify-out/2026-08-04/graph.json +++ b/backend/graphify-out/2026-08-04/graph.json @@ -20,7 +20,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_init", - "community": 26, + "community": 160, "norm_label": "__init__.py" }, { @@ -30,7 +30,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_init_rationale_1", - "community": 26, + "community": 160, "norm_label": "api \u8def\u7531\u5305 \u2014 \u5c71\u5ce1\u5316\u5de5\u751f\u4ea7\u4e00\u4f53\u5316\u95e8\u6237" }, { @@ -880,7 +880,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_bx_init", - "community": 14, + "community": 26, "norm_label": "__init__.py" }, { @@ -890,7 +890,7 @@ "source_location": "L18", "_origin": "ast", "id": "app_api_bx_init_bx_health", - "community": 14, + "community": 26, "norm_label": "bx_health()" }, { @@ -900,7 +900,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_bx_init_rationale_1", - "community": 14, + "community": 26, "norm_label": "\u62a5\u9500(bx)api \u8def\u7531\u805a\u5408 \u2014 rest \u98ce\u683c,\u534f\u8bae\u5bf9\u9f50 bx \u539f\u7cfb\u7edf\u3002" }, { @@ -910,7 +910,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_api_bx_init_rationale_19", - "community": 14, + "community": 26, "norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002" }, { @@ -1570,7 +1570,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_bx_reimburse", - "community": 14, + "community": 26, "norm_label": "reimburse.py" }, { @@ -1580,7 +1580,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_api_bx_reimburse_tenant", - "community": 14, + "community": 26, "norm_label": "_tenant()" }, { @@ -1590,7 +1590,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_bx_reimburse_py_session", - "community": 14, + "community": 26, "norm_label": "session" }, { @@ -1600,7 +1600,7 @@ "source_location": "L34", "_origin": "ast", "id": "app_api_bx_reimburse_build_details_data", - "community": 14, + "community": 26, "norm_label": "_build_details_data()" }, { @@ -1610,7 +1610,7 @@ "source_location": "L63", "_origin": "ast", "id": "app_api_bx_reimburse_get_generated_title", - "community": 14, + "community": 26, "norm_label": "get_generated_title()" }, { @@ -1620,7 +1620,7 @@ "source_location": "L80", "_origin": "ast", "id": "app_api_bx_reimburse_list_reimburses", - "community": 14, + "community": 26, "norm_label": "list_reimburses()" }, { @@ -1630,7 +1630,7 @@ "source_location": "L126", "_origin": "ast", "id": "app_api_bx_reimburse_my_reimburses", - "community": 14, + "community": 26, "norm_label": "my_reimburses()" }, { @@ -1640,7 +1640,7 @@ "source_location": "L171", "_origin": "ast", "id": "app_api_bx_reimburse_my_reimburse_stats", - "community": 14, + "community": 26, "norm_label": "my_reimburse_stats()" }, { @@ -1650,7 +1650,7 @@ "source_location": "L181", "_origin": "ast", "id": "app_api_bx_reimburse_reimburse_status_counts", - "community": 14, + "community": 26, "norm_label": "reimburse_status_counts()" }, { @@ -1660,7 +1660,7 @@ "source_location": "L190", "_origin": "ast", "id": "app_api_bx_reimburse_pending_approval", - "community": 14, + "community": 26, "norm_label": "pending_approval()" }, { @@ -1670,7 +1670,7 @@ "source_location": "L222", "_origin": "ast", "id": "app_api_bx_reimburse_pending_approval_stats", - "community": 14, + "community": 26, "norm_label": "pending_approval_stats()" }, { @@ -1680,7 +1680,7 @@ "source_location": "L232", "_origin": "ast", "id": "app_api_bx_reimburse_approved_by_me", - "community": 14, + "community": 26, "norm_label": "approved_by_me()" }, { @@ -1690,7 +1690,7 @@ "source_location": "L264", "_origin": "ast", "id": "app_api_bx_reimburse_get_reimburse", - "community": 14, + "community": 26, "norm_label": "get_reimburse()" }, { @@ -1700,7 +1700,7 @@ "source_location": "L278", "_origin": "ast", "id": "app_api_bx_reimburse_get_approvals", - "community": 14, + "community": 26, "norm_label": "get_approvals()" }, { @@ -1710,7 +1710,7 @@ "source_location": "L291", "_origin": "ast", "id": "app_api_bx_reimburse_get_approval_history", - "community": 14, + "community": 26, "norm_label": "get_approval_history()" }, { @@ -1720,7 +1720,7 @@ "source_location": "L304", "_origin": "ast", "id": "app_api_bx_reimburse_create_reimburse", - "community": 14, + "community": 26, "norm_label": "create_reimburse()" }, { @@ -1730,7 +1730,7 @@ "source_location": "L358", "_origin": "ast", "id": "app_api_bx_reimburse_update_reimburse", - "community": 14, + "community": 26, "norm_label": "update_reimburse()" }, { @@ -1740,7 +1740,7 @@ "source_location": "L403", "_origin": "ast", "id": "app_api_bx_reimburse_submit_reimburse", - "community": 14, + "community": 26, "norm_label": "submit_reimburse()" }, { @@ -1750,7 +1750,7 @@ "source_location": "L425", "_origin": "ast", "id": "app_api_bx_reimburse_approve_reimburse", - "community": 14, + "community": 26, "norm_label": "approve_reimburse()" }, { @@ -1760,7 +1760,7 @@ "source_location": "L441", "_origin": "ast", "id": "app_api_bx_reimburse_reject_reimburse", - "community": 14, + "community": 26, "norm_label": "reject_reimburse()" }, { @@ -1770,7 +1770,7 @@ "source_location": "L457", "_origin": "ast", "id": "app_api_bx_reimburse_withdraw_reimburse", - "community": 14, + "community": 26, "norm_label": "withdraw_reimburse()" }, { @@ -1780,7 +1780,7 @@ "source_location": "L475", "_origin": "ast", "id": "app_api_bx_reimburse_delete_reimburse", - "community": 14, + "community": 26, "norm_label": "delete_reimburse()" }, { @@ -1887,10 +1887,10 @@ "label": "category_tree()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L328", + "source_location": "L330", "_origin": "ast", "id": "app_api_crm_category_tree", - "community": 12, + "community": 24, "norm_label": "category_tree()" }, { @@ -1907,27 +1907,37 @@ "label": "customer_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L356", + "source_location": "L358", "_origin": "ast", "id": "app_api_crm_customer_list", - "community": 150, + "community": 144, "norm_label": "customer_list()" }, { "label": "customer_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L390", + "source_location": "L392", "_origin": "ast", "id": "app_api_crm_customer_detail", "community": 64, "norm_label": "customer_detail()" }, + { + "label": "customer_options()", + "file_type": "code", + "source_file": "app/api/crm.py", + "source_location": "L418", + "_origin": "ast", + "id": "app_api_crm_customer_options", + "community": 64, + "norm_label": "customer_options()" + }, { "label": "customer_create()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L417", + "source_location": "L442", "_origin": "ast", "id": "app_api_crm_customer_create", "community": 12, @@ -1937,7 +1947,7 @@ "label": "customer_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L447", + "source_location": "L472", "_origin": "ast", "id": "app_api_crm_customer_update", "community": 12, @@ -1947,57 +1957,57 @@ "label": "customer_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L474", + "source_location": "L499", "_origin": "ast", "id": "app_api_crm_customer_delete", - "community": 12, + "community": 64, "norm_label": "customer_delete()" }, { "label": "customer_generate_no()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L502", + "source_location": "L527", "_origin": "ast", "id": "app_api_crm_customer_generate_no", - "community": 3, + "community": 64, "norm_label": "customer_generate_no()" }, { "label": "category_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L518", + "source_location": "L543", "_origin": "ast", "id": "app_api_crm_category_add", - "community": 12, + "community": 24, "norm_label": "category_add()" }, { "label": "category_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L537", + "source_location": "L562", "_origin": "ast", "id": "app_api_crm_category_update", - "community": 12, + "community": 24, "norm_label": "category_update()" }, { "label": "category_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L557", + "source_location": "L582", "_origin": "ast", "id": "app_api_crm_category_delete", - "community": 12, + "community": 24, "norm_label": "category_delete()" }, { "label": "product_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L577", + "source_location": "L602", "_origin": "ast", "id": "app_api_crm_product_list", "community": 64, @@ -2007,67 +2017,67 @@ "label": "product_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L614", + "source_location": "L639", "_origin": "ast", "id": "app_api_crm_product_detail", - "community": 64, + "community": 24, "norm_label": "product_detail()" }, { "label": "product_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L635", + "source_location": "L660", "_origin": "ast", "id": "app_api_crm_product_add", - "community": 12, + "community": 24, "norm_label": "product_add()" }, { "label": "product_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L659", + "source_location": "L684", "_origin": "ast", "id": "app_api_crm_product_update", - "community": 12, + "community": 64, "norm_label": "product_update()" }, { "label": "product_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L680", + "source_location": "L705", "_origin": "ast", "id": "app_api_crm_product_delete", - "community": 12, + "community": 24, "norm_label": "product_delete()" }, { "label": "product_update_status()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L708", + "source_location": "L733", "_origin": "ast", "id": "app_api_crm_product_update_status", - "community": 12, + "community": 64, "norm_label": "product_update_status()" }, { "label": "product_options()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L729", + "source_location": "L754", "_origin": "ast", "id": "app_api_crm_product_options", - "community": 12, + "community": 64, "norm_label": "product_options()" }, { "label": "product_import()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L756", + "source_location": "L782", "_origin": "ast", "id": "app_api_crm_product_import", "community": 64, @@ -2087,7 +2097,7 @@ "label": "product_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L847", + "source_location": "L873", "_origin": "ast", "id": "app_api_crm_product_export", "community": 64, @@ -2097,7 +2107,7 @@ "label": "product_import_template()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L882", + "source_location": "L908", "_origin": "ast", "id": "app_api_crm_product_import_template", "community": 64, @@ -2107,7 +2117,7 @@ "label": "customer_transfer()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L926", + "source_location": "L952", "_origin": "ast", "id": "app_api_crm_customer_transfer", "community": 64, @@ -2117,7 +2127,7 @@ "label": "customer_into_pool()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L952", + "source_location": "L978", "_origin": "ast", "id": "app_api_crm_customer_into_pool", "community": 64, @@ -2127,7 +2137,7 @@ "label": "customer_deal()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L977", + "source_location": "L1003", "_origin": "ast", "id": "app_api_crm_customer_deal", "community": 64, @@ -2137,27 +2147,27 @@ "label": "customer_check_duplicate()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1006", + "source_location": "L1032", "_origin": "ast", "id": "app_api_crm_customer_check_duplicate", - "community": 3, + "community": 64, "norm_label": "customer_check_duplicate()" }, { "label": "customer_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1029", + "source_location": "L1055", "_origin": "ast", "id": "app_api_crm_customer_export", - "community": 150, + "community": 144, "norm_label": "customer_export()" }, { "label": "customer_import_template()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1065", + "source_location": "L1091", "_origin": "ast", "id": "app_api_crm_customer_import_template", "community": 64, @@ -2167,127 +2177,127 @@ "label": "customer_mine()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1104", + "source_location": "L1130", "_origin": "ast", "id": "app_api_crm_customer_mine", - "community": 150, + "community": 144, "norm_label": "customer_mine()" }, { "label": "customer_to_follow()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1138", + "source_location": "L1164", "_origin": "ast", "id": "app_api_crm_customer_to_follow", - "community": 150, + "community": 144, "norm_label": "customer_to_follow()" }, { "label": "customer_key()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1172", + "source_location": "L1198", "_origin": "ast", "id": "app_api_crm_customer_key", - "community": 150, + "community": 144, "norm_label": "customer_key()" }, { "label": "customer_dealed()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1206", + "source_location": "L1232", "_origin": "ast", "id": "app_api_crm_customer_dealed", - "community": 150, + "community": 144, "norm_label": "customer_dealed()" }, { "label": "customer_week_new()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1238", + "source_location": "L1264", "_origin": "ast", "id": "app_api_crm_customer_week_new", - "community": 150, + "community": 144, "norm_label": "customer_week_new()" }, { "label": "customer_long_time_no_follow()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1270", + "source_location": "L1296", "_origin": "ast", "id": "app_api_crm_customer_long_time_no_follow", - "community": 150, + "community": 144, "norm_label": "customer_long_time_no_follow()" }, { "label": "customer_park_area_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1302", + "source_location": "L1328", "_origin": "ast", "id": "app_api_crm_customer_park_area_list", - "community": 3, + "community": 64, "norm_label": "customer_park_area_list()" }, { "label": "pool_customer_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1322", + "source_location": "L1348", "_origin": "ast", "id": "app_api_crm_pool_customer_list", - "community": 64, + "community": 145, "norm_label": "pool_customer_list()" }, { "label": "pool_customer_assign()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1354", + "source_location": "L1380", "_origin": "ast", "id": "app_api_crm_pool_customer_assign", - "community": 64, + "community": 145, "norm_label": "pool_customer_assign()" }, { "label": "pool_customer_claim()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1373", + "source_location": "L1399", "_origin": "ast", "id": "app_api_crm_pool_customer_claim", - "community": 64, + "community": 145, "norm_label": "pool_customer_claim()" }, { "label": "pool_record_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1391", + "source_location": "L1417", "_origin": "ast", "id": "app_api_crm_pool_record_list", - "community": 64, + "community": 145, "norm_label": "pool_record_list()" }, { "label": "pool_record_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1421", + "source_location": "L1447", "_origin": "ast", "id": "app_api_crm_pool_record_detail", - "community": 64, + "community": 145, "norm_label": "pool_record_detail()" }, { "label": "contact_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1443", + "source_location": "L1469", "_origin": "ast", "id": "app_api_crm_contact_list", "community": 64, @@ -2297,7 +2307,7 @@ "label": "contact_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1479", + "source_location": "L1505", "_origin": "ast", "id": "app_api_crm_contact_detail", "community": 64, @@ -2307,7 +2317,7 @@ "label": "contact_by_customer()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1503", + "source_location": "L1529", "_origin": "ast", "id": "app_api_crm_contact_by_customer", "community": 64, @@ -2317,7 +2327,7 @@ "label": "contact_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1524", + "source_location": "L1550", "_origin": "ast", "id": "app_api_crm_contact_add", "community": 12, @@ -2327,27 +2337,27 @@ "label": "contact_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1547", + "source_location": "L1573", "_origin": "ast", "id": "app_api_crm_contact_update", - "community": 12, + "community": 64, "norm_label": "contact_update()" }, { "label": "contact_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1568", + "source_location": "L1594", "_origin": "ast", "id": "app_api_crm_contact_delete", - "community": 12, + "community": 64, "norm_label": "contact_delete()" }, { "label": "contact_set_primary()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1588", + "source_location": "L1614", "_origin": "ast", "id": "app_api_crm_contact_set_primary", "community": 64, @@ -2357,7 +2367,7 @@ "label": "contact_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1610", + "source_location": "L1636", "_origin": "ast", "id": "app_api_crm_contact_export", "community": 64, @@ -2367,7 +2377,7 @@ "label": "contact_decision()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1640", + "source_location": "L1666", "_origin": "ast", "id": "app_api_crm_contact_decision", "community": 64, @@ -2377,7 +2387,7 @@ "label": "contact_primary()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1671", + "source_location": "L1697", "_origin": "ast", "id": "app_api_crm_contact_primary", "community": 64, @@ -2387,7 +2397,7 @@ "label": "contact_birthday()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1702", + "source_location": "L1728", "_origin": "ast", "id": "app_api_crm_contact_birthday", "community": 64, @@ -2397,7 +2407,7 @@ "label": "follow_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1736", + "source_location": "L1762", "_origin": "ast", "id": "app_api_crm_follow_list", "community": 64, @@ -2417,7 +2427,7 @@ "label": "follow_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1768", + "source_location": "L1794", "_origin": "ast", "id": "app_api_crm_follow_detail", "community": 64, @@ -2427,7 +2437,7 @@ "label": "follow_by_customer()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1794", + "source_location": "L1820", "_origin": "ast", "id": "app_api_crm_follow_by_customer", "community": 64, @@ -2437,7 +2447,7 @@ "label": "follow_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1815", + "source_location": "L1841", "_origin": "ast", "id": "app_api_crm_follow_add", "community": 64, @@ -2457,7 +2467,7 @@ "label": "follow_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1839", + "source_location": "L1865", "_origin": "ast", "id": "app_api_crm_follow_update", "community": 64, @@ -2477,7 +2487,7 @@ "label": "follow_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1858", + "source_location": "L1884", "_origin": "ast", "id": "app_api_crm_follow_delete", "community": 64, @@ -2497,7 +2507,7 @@ "label": "follow_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1875", + "source_location": "L1901", "_origin": "ast", "id": "app_api_crm_follow_export", "community": 64, @@ -2507,77 +2517,77 @@ "label": "pool_rule_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1908", + "source_location": "L1934", "_origin": "ast", "id": "app_api_crm_pool_rule_list", - "community": 64, + "community": 78, "norm_label": "pool_rule_list()" }, { "label": "pool_rule_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1939", + "source_location": "L1965", "_origin": "ast", "id": "app_api_crm_pool_rule_detail", - "community": 64, + "community": 78, "norm_label": "pool_rule_detail()" }, { "label": "pool_rule_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1960", + "source_location": "L1986", "_origin": "ast", "id": "app_api_crm_pool_rule_add", - "community": 64, + "community": 78, "norm_label": "pool_rule_add()" }, { "label": "pool_rule_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L1987", + "source_location": "L2013", "_origin": "ast", "id": "app_api_crm_pool_rule_update", - "community": 64, + "community": 78, "norm_label": "pool_rule_update()" }, { "label": "pool_rule_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2016", + "source_location": "L2042", "_origin": "ast", "id": "app_api_crm_pool_rule_delete", - "community": 64, + "community": 78, "norm_label": "pool_rule_delete()" }, { "label": "pool_rule_update_status()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2033", + "source_location": "L2059", "_origin": "ast", "id": "app_api_crm_pool_rule_update_status", - "community": 64, + "community": 78, "norm_label": "pool_rule_update_status()" }, { "label": "pool_rule_execute()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2053", + "source_location": "L2079", "_origin": "ast", "id": "app_api_crm_pool_rule_execute", - "community": 64, + "community": 78, "norm_label": "pool_rule_execute()" }, { "label": "statistics_overview()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2072", + "source_location": "L2098", "_origin": "ast", "id": "app_api_crm_statistics_overview", "community": 64, @@ -2587,7 +2597,7 @@ "label": "statistics_source()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2092", + "source_location": "L2118", "_origin": "ast", "id": "app_api_crm_statistics_source", "community": 64, @@ -2597,7 +2607,7 @@ "label": "statistics_level()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2110", + "source_location": "L2136", "_origin": "ast", "id": "app_api_crm_statistics_level", "community": 64, @@ -2607,7 +2617,7 @@ "label": "statistics_industry()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2128", + "source_location": "L2154", "_origin": "ast", "id": "app_api_crm_statistics_industry", "community": 64, @@ -2617,7 +2627,7 @@ "label": "statistics_trend()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2146", + "source_location": "L2172", "_origin": "ast", "id": "app_api_crm_statistics_trend", "community": 64, @@ -2627,7 +2637,7 @@ "label": "statistics_owner()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2169", + "source_location": "L2195", "_origin": "ast", "id": "app_api_crm_statistics_owner", "community": 64, @@ -2637,7 +2647,7 @@ "label": "statistics_follow()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2187", + "source_location": "L2213", "_origin": "ast", "id": "app_api_crm_statistics_follow", "community": 64, @@ -2647,7 +2657,7 @@ "label": "_opp_list_kwargs()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2212", + "source_location": "L2238", "_origin": "ast", "id": "app_api_crm_opp_list_kwargs", "community": 64, @@ -2657,7 +2667,7 @@ "label": "opportunity_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2241", + "source_location": "L2267", "_origin": "ast", "id": "app_api_crm_opportunity_list", "community": 64, @@ -2667,7 +2677,7 @@ "label": "opportunity_mine_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2274", + "source_location": "L2300", "_origin": "ast", "id": "app_api_crm_opportunity_mine_list", "community": 64, @@ -2677,7 +2687,7 @@ "label": "opportunity_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2307", + "source_location": "L2333", "_origin": "ast", "id": "app_api_crm_opportunity_detail", "community": 64, @@ -2687,7 +2697,7 @@ "label": "opportunity_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2337", + "source_location": "L2363", "_origin": "ast", "id": "app_api_crm_opportunity_add", "community": 64, @@ -2697,7 +2707,7 @@ "label": "opportunity_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2361", + "source_location": "L2387", "_origin": "ast", "id": "app_api_crm_opportunity_update", "community": 64, @@ -2707,7 +2717,7 @@ "label": "opportunity_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2382", + "source_location": "L2408", "_origin": "ast", "id": "app_api_crm_opportunity_delete", "community": 64, @@ -2717,7 +2727,7 @@ "label": "opportunity_assign()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2403", + "source_location": "L2429", "_origin": "ast", "id": "app_api_crm_opportunity_assign", "community": 64, @@ -2727,7 +2737,7 @@ "label": "opportunity_change_stage()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2430", + "source_location": "L2456", "_origin": "ast", "id": "app_api_crm_opportunity_change_stage", "community": 64, @@ -2737,7 +2747,7 @@ "label": "opportunity_mark_won()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2460", + "source_location": "L2486", "_origin": "ast", "id": "app_api_crm_opportunity_mark_won", "community": 64, @@ -2747,7 +2757,7 @@ "label": "opportunity_mark_lost()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2488", + "source_location": "L2514", "_origin": "ast", "id": "app_api_crm_opportunity_mark_lost", "community": 64, @@ -2757,7 +2767,7 @@ "label": "opportunity_batch_update_stage()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2517", + "source_location": "L2543", "_origin": "ast", "id": "app_api_crm_opportunity_batch_update_stage", "community": 64, @@ -2767,7 +2777,7 @@ "label": "opportunity_batch_update_expect_date()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2546", + "source_location": "L2572", "_origin": "ast", "id": "app_api_crm_opportunity_batch_update_expect_date", "community": 64, @@ -2777,7 +2787,7 @@ "label": "opportunity_stage_log_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2574", + "source_location": "L2600", "_origin": "ast", "id": "app_api_crm_opportunity_stage_log_list", "community": 64, @@ -2787,7 +2797,7 @@ "label": "opportunity_kanban()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2592", + "source_location": "L2618", "_origin": "ast", "id": "app_api_crm_opportunity_kanban", "community": 64, @@ -2797,7 +2807,7 @@ "label": "opportunity_statistics_overview()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2623", + "source_location": "L2649", "_origin": "ast", "id": "app_api_crm_opportunity_statistics_overview", "community": 64, @@ -2807,7 +2817,7 @@ "label": "opportunity_statistics_stage()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2649", + "source_location": "L2675", "_origin": "ast", "id": "app_api_crm_opportunity_statistics_stage", "community": 64, @@ -2817,7 +2827,7 @@ "label": "opportunity_statistics_win_rate()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2665", + "source_location": "L2691", "_origin": "ast", "id": "app_api_crm_opportunity_statistics_win_rate", "community": 64, @@ -2827,7 +2837,7 @@ "label": "opportunity_statistics_owner()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2691", + "source_location": "L2717", "_origin": "ast", "id": "app_api_crm_opportunity_statistics_owner", "community": 64, @@ -2837,7 +2847,7 @@ "label": "opportunity_statistics_funnel()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2716", + "source_location": "L2742", "_origin": "ast", "id": "app_api_crm_opportunity_statistics_funnel", "community": 64, @@ -2847,7 +2857,7 @@ "label": "opportunity_follow_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2742", + "source_location": "L2768", "_origin": "ast", "id": "app_api_crm_opportunity_follow_list", "community": 64, @@ -2857,7 +2867,7 @@ "label": "opportunity_follow_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2774", + "source_location": "L2800", "_origin": "ast", "id": "app_api_crm_opportunity_follow_add", "community": 64, @@ -2867,7 +2877,7 @@ "label": "opportunity_follow_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2799", + "source_location": "L2825", "_origin": "ast", "id": "app_api_crm_opportunity_follow_update", "community": 64, @@ -2877,7 +2887,7 @@ "label": "opportunity_follow_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2822", + "source_location": "L2848", "_origin": "ast", "id": "app_api_crm_opportunity_follow_delete", "community": 64, @@ -2887,7 +2897,7 @@ "label": "opportunity_follow_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2846", + "source_location": "L2872", "_origin": "ast", "id": "app_api_crm_opportunity_follow_detail", "community": 64, @@ -2897,7 +2907,7 @@ "label": "opportunity_product_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2866", + "source_location": "L2892", "_origin": "ast", "id": "app_api_crm_opportunity_product_list", "community": 64, @@ -2907,7 +2917,7 @@ "label": "opportunity_product_list_by_opportunity()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2899", + "source_location": "L2925", "_origin": "ast", "id": "app_api_crm_opportunity_product_list_by_opportunity", "community": 64, @@ -2917,7 +2927,7 @@ "label": "opportunity_product_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2920", + "source_location": "L2946", "_origin": "ast", "id": "app_api_crm_opportunity_product_add", "community": 64, @@ -2927,7 +2937,7 @@ "label": "opportunity_product_batch_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2945", + "source_location": "L2971", "_origin": "ast", "id": "app_api_crm_opportunity_product_batch_add", "community": 64, @@ -2937,7 +2947,7 @@ "label": "opportunity_product_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2975", + "source_location": "L3001", "_origin": "ast", "id": "app_api_crm_opportunity_product_update", "community": 64, @@ -2947,7 +2957,7 @@ "label": "opportunity_product_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L2998", + "source_location": "L3024", "_origin": "ast", "id": "app_api_crm_opportunity_product_delete", "community": 64, @@ -2957,7 +2967,7 @@ "label": "opportunity_product_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3019", + "source_location": "L3045", "_origin": "ast", "id": "app_api_crm_opportunity_product_detail", "community": 64, @@ -2967,7 +2977,7 @@ "label": "opportunity_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3039", + "source_location": "L3065", "_origin": "ast", "id": "app_api_crm_opportunity_export", "community": 64, @@ -2977,7 +2987,7 @@ "label": "supplier_info_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3081", + "source_location": "L3107", "_origin": "ast", "id": "app_api_crm_supplier_info_list", "community": 64, @@ -2987,7 +2997,7 @@ "label": "supplier_info_list_all()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3116", + "source_location": "L3142", "_origin": "ast", "id": "app_api_crm_supplier_info_list_all", "community": 112, @@ -2997,7 +3007,7 @@ "label": "supplier_info_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3141", + "source_location": "L3167", "_origin": "ast", "id": "app_api_crm_supplier_info_detail", "community": 112, @@ -3007,7 +3017,7 @@ "label": "supplier_info_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3164", + "source_location": "L3190", "_origin": "ast", "id": "app_api_crm_supplier_info_add", "community": 112, @@ -3017,7 +3027,7 @@ "label": "supplier_info_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3190", + "source_location": "L3216", "_origin": "ast", "id": "app_api_crm_supplier_info_update", "community": 112, @@ -3027,7 +3037,7 @@ "label": "supplier_info_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3218", + "source_location": "L3244", "_origin": "ast", "id": "app_api_crm_supplier_info_delete", "community": 112, @@ -3037,7 +3047,7 @@ "label": "supplier_info_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3247", + "source_location": "L3273", "_origin": "ast", "id": "app_api_crm_supplier_info_export", "community": 64, @@ -3047,77 +3057,77 @@ "label": "_invoice_info_by_customer_impl()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3284", + "source_location": "L3310", "_origin": "ast", "id": "app_api_crm_invoice_info_by_customer_impl", - "community": 144, + "community": 126, "norm_label": "_invoice_info_by_customer_impl()" }, { "label": "invoice_info_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3298", + "source_location": "L3324", "_origin": "ast", "id": "app_api_crm_invoice_info_list", - "community": 144, + "community": 126, "norm_label": "invoice_info_list()" }, { "label": "invoice_info_by_customer()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3313", + "source_location": "L3339", "_origin": "ast", "id": "app_api_crm_invoice_info_by_customer", - "community": 144, + "community": 126, "norm_label": "invoice_info_by_customer()" }, { "label": "invoice_info_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3328", + "source_location": "L3354", "_origin": "ast", "id": "app_api_crm_invoice_info_add", - "community": 144, + "community": 64, "norm_label": "invoice_info_add()" }, { "label": "invoice_info_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3353", + "source_location": "L3379", "_origin": "ast", "id": "app_api_crm_invoice_info_update", - "community": 144, + "community": 64, "norm_label": "invoice_info_update()" }, { "label": "invoice_info_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3381", + "source_location": "L3407", "_origin": "ast", "id": "app_api_crm_invoice_info_delete", - "community": 144, + "community": 126, "norm_label": "invoice_info_delete()" }, { "label": "invoice_info_set_default()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3404", + "source_location": "L3430", "_origin": "ast", "id": "app_api_crm_invoice_info_set_default", - "community": 144, + "community": 64, "norm_label": "invoice_info_set_default()" }, { "label": "clue_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3432", + "source_location": "L3458", "_origin": "ast", "id": "app_api_crm_clue_list", "community": 64, @@ -3127,7 +3137,7 @@ "label": "clue_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3479", + "source_location": "L3505", "_origin": "ast", "id": "app_api_crm_clue_detail", "community": 64, @@ -3137,97 +3147,97 @@ "label": "clue_create()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3506", + "source_location": "L3532", "_origin": "ast", "id": "app_api_crm_clue_create", - "community": 78, + "community": 64, "norm_label": "clue_create()" }, { "label": "clue_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3529", + "source_location": "L3555", "_origin": "ast", "id": "app_api_crm_clue_update", - "community": 78, + "community": 64, "norm_label": "clue_update()" }, { "label": "clue_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3551", + "source_location": "L3577", "_origin": "ast", "id": "app_api_crm_clue_delete", - "community": 78, + "community": 64, "norm_label": "clue_delete()" }, { "label": "clue_assign()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3582", + "source_location": "L3608", "_origin": "ast", "id": "app_api_crm_clue_assign", - "community": 78, + "community": 64, "norm_label": "clue_assign()" }, { "label": "clue_convert()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3610", + "source_location": "L3636", "_origin": "ast", "id": "app_api_crm_clue_convert", - "community": 78, + "community": 64, "norm_label": "clue_convert()" }, { "label": "clue_check_convert()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3638", + "source_location": "L3664", "_origin": "ast", "id": "app_api_crm_clue_check_convert", - "community": 3, + "community": 64, "norm_label": "clue_check_convert()" }, { "label": "clue_update_status()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3658", + "source_location": "L3684", "_origin": "ast", "id": "app_api_crm_clue_update_status", - "community": 78, + "community": 64, "norm_label": "clue_update_status()" }, { "label": "clue_invalid()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3679", + "source_location": "L3705", "_origin": "ast", "id": "app_api_crm_clue_invalid", - "community": 78, + "community": 64, "norm_label": "clue_invalid()" }, { "label": "clue_update_level()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3710", + "source_location": "L3736", "_origin": "ast", "id": "app_api_crm_clue_update_level", - "community": 78, + "community": 64, "norm_label": "clue_update_level()" }, { "label": "clue_mine()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3731", + "source_location": "L3757", "_origin": "ast", "id": "app_api_crm_clue_mine", "community": 64, @@ -3237,7 +3247,7 @@ "label": "clue_to_follow()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3777", + "source_location": "L3803", "_origin": "ast", "id": "app_api_crm_clue_to_follow", "community": 64, @@ -3247,7 +3257,7 @@ "label": "clue_today_new()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3823", + "source_location": "L3849", "_origin": "ast", "id": "app_api_crm_clue_today_new", "community": 64, @@ -3257,47 +3267,47 @@ "label": "clue_park_area_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3869", + "source_location": "L3895", "_origin": "ast", "id": "app_api_crm_clue_park_area_list", - "community": 3, + "community": 64, "norm_label": "clue_park_area_list()" }, { "label": "clue_follow_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3884", + "source_location": "L3910", "_origin": "ast", "id": "app_api_crm_clue_follow_list", - "community": 78, + "community": 64, "norm_label": "clue_follow_list()" }, { "label": "clue_follow_create()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3916", + "source_location": "L3942", "_origin": "ast", "id": "app_api_crm_clue_follow_create", - "community": 78, + "community": 64, "norm_label": "clue_follow_create()" }, { "label": "clue_follow_delete()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3948", + "source_location": "L3974", "_origin": "ast", "id": "app_api_crm_clue_follow_delete", - "community": 78, + "community": 64, "norm_label": "clue_follow_delete()" }, { "label": "clue_follow_statistics()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L3979", + "source_location": "L4005", "_origin": "ast", "id": "app_api_crm_clue_follow_statistics", "community": 64, @@ -3307,7 +3317,7 @@ "label": "clue_export()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4048", + "source_location": "L4074", "_origin": "ast", "id": "app_api_crm_clue_export", "community": 64, @@ -3317,7 +3327,7 @@ "label": "clue_import_template()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4105", + "source_location": "L4131", "_origin": "ast", "id": "app_api_crm_clue_import_template", "community": 64, @@ -3327,7 +3337,7 @@ "label": "clue_import()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4140", + "source_location": "L4166", "_origin": "ast", "id": "app_api_crm_clue_import", "community": 64, @@ -3337,17 +3347,17 @@ "label": "clue_check_duplicate()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4192", + "source_location": "L4218", "_origin": "ast", "id": "app_api_crm_clue_check_duplicate", - "community": 3, + "community": 64, "norm_label": "clue_check_duplicate()" }, { "label": "clue_follow_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4216", + "source_location": "L4242", "_origin": "ast", "id": "app_api_crm_clue_follow_detail", "community": 64, @@ -3357,17 +3367,17 @@ "label": "clue_follow_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4240", + "source_location": "L4266", "_origin": "ast", "id": "app_api_crm_clue_follow_update", - "community": 78, + "community": 64, "norm_label": "clue_follow_update()" }, { "label": "clue_statistics_overview()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4261", + "source_location": "L4287", "_origin": "ast", "id": "app_api_crm_clue_statistics_overview", "community": 64, @@ -3377,7 +3387,7 @@ "label": "clue_statistics_source()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4289", + "source_location": "L4315", "_origin": "ast", "id": "app_api_crm_clue_statistics_source", "community": 64, @@ -3387,17 +3397,17 @@ "label": "clue_statistics_level()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4314", + "source_location": "L4340", "_origin": "ast", "id": "app_api_crm_clue_statistics_level", - "community": 146, + "community": 64, "norm_label": "clue_statistics_level()" }, { "label": "clue_statistics_trend()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4331", + "source_location": "L4357", "_origin": "ast", "id": "app_api_crm_clue_statistics_trend", "community": 64, @@ -3407,7 +3417,7 @@ "label": "clue_statistics_owner()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4358", + "source_location": "L4384", "_origin": "ast", "id": "app_api_crm_clue_statistics_owner", "community": 64, @@ -3417,50 +3427,50 @@ "label": "price_letter_list()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4403", + "source_location": "L4429", "_origin": "ast", "id": "app_api_crm_price_letter_list", - "community": 64, + "community": 150, "norm_label": "price_letter_list()" }, { "label": "price_letter_detail()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4444", + "source_location": "L4470", "_origin": "ast", "id": "app_api_crm_price_letter_detail", - "community": 64, + "community": 150, "norm_label": "price_letter_detail()" }, { "label": "price_letter_add()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4466", + "source_location": "L4492", "_origin": "ast", "id": "app_api_crm_price_letter_add", - "community": 64, + "community": 150, "norm_label": "price_letter_add()" }, { "label": "price_letter_update()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4493", + "source_location": "L4519", "_origin": "ast", "id": "app_api_crm_price_letter_update", - "community": 64, + "community": 150, "norm_label": "price_letter_update()" }, { "label": "price_letter_void()", "file_type": "code", "source_file": "app/api/crm.py", - "source_location": "L4524", + "source_location": "L4550", "_origin": "ast", "id": "app_api_crm_price_letter_void", - "community": 64, + "community": 150, "norm_label": "price_letter_void()" }, { @@ -3473,23 +3483,33 @@ "community": 64, "norm_label": "crm \u7ba1\u7406\u63a5\u53e3(\u4ea7\u54c1\u5206\u7c7b + \u4ea7\u54c1 + excel \u5bfc\u5165\u5bfc\u51fa)" }, + { + "label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\uff08\u79df\u6237\u5185\u53ea\u8bfb\uff0c\u4e0d\u505a owner \u6570\u636e\u6743\u9650\uff09", + "file_type": "rationale", + "source_file": "app/api/crm.py", + "source_location": "L423", + "_origin": "ast", + "id": "app_api_crm_rationale_423", + "community": 64, + "norm_label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879(\u79df\u6237\u5185\u53ea\u8bfb,\u4e0d\u505a owner \u6570\u636e\u6743\u9650)" + }, { "label": "\u5220\u9664\u4ea7\u54c1\uff08\u652f\u6301\u5355\u6761 body.id \u548c\u6279\u91cf body.ids\uff09", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L685", + "source_location": "L710", "_origin": "ast", - "id": "app_api_crm_rationale_685", - "community": 12, + "id": "app_api_crm_rationale_710", + "community": 24, "norm_label": "\u5220\u9664\u4ea7\u54c1(\u652f\u6301\u5355\u6761 body.id \u548c\u6279\u91cf body.ids)" }, { "label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 Java: CrmSupplierInfoController.list", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3086", + "source_location": "L3112", "_origin": "ast", - "id": "app_api_crm_rationale_3086", + "id": "app_api_crm_rationale_3112", "community": 64, "norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list" }, @@ -3497,9 +3517,9 @@ "label": "\u4f9b\u65b9\u5168\u91cf\u5217\u8868\uff08\u4e0b\u62c9\uff09\u2014 Java: CrmSupplierInfoController.listAll", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3121", + "source_location": "L3147", "_origin": "ast", - "id": "app_api_crm_rationale_3121", + "id": "app_api_crm_rationale_3147", "community": 112, "norm_label": "\u4f9b\u65b9\u5168\u91cf\u5217\u8868(\u4e0b\u62c9)\u2014 java: crmsupplierinfocontroller.listall" }, @@ -3507,9 +3527,9 @@ "label": "\u4f9b\u65b9\u8be6\u60c5 \u2014 Java: CrmSupplierInfoController.getInfo", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3146", + "source_location": "L3172", "_origin": "ast", - "id": "app_api_crm_rationale_3146", + "id": "app_api_crm_rationale_3172", "community": 112, "norm_label": "\u4f9b\u65b9\u8be6\u60c5 \u2014 java: crmsupplierinfocontroller.getinfo" }, @@ -3517,9 +3537,9 @@ "label": "\u65b0\u589e\u4f9b\u65b9 \u2014 Java: CrmSupplierInfoController.add", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3169", + "source_location": "L3195", "_origin": "ast", - "id": "app_api_crm_rationale_3169", + "id": "app_api_crm_rationale_3195", "community": 112, "norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add" }, @@ -3527,9 +3547,9 @@ "label": "\u4fee\u6539\u4f9b\u65b9 \u2014 Java: CrmSupplierInfoController.edit", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3195", + "source_location": "L3221", "_origin": "ast", - "id": "app_api_crm_rationale_3195", + "id": "app_api_crm_rationale_3221", "community": 112, "norm_label": "\u4fee\u6539\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.edit" }, @@ -3537,9 +3557,9 @@ "label": "\u5220\u9664\u4f9b\u65b9 \u2014 Java: CrmSupplierInfoController.remove", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3223", + "source_location": "L3249", "_origin": "ast", - "id": "app_api_crm_rationale_3223", + "id": "app_api_crm_rationale_3249", "community": 112, "norm_label": "\u5220\u9664\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.remove" }, @@ -3547,9 +3567,9 @@ "label": "\u5bfc\u51fa\u4f9b\u65b9\u5217\u8868 \u2014 Java: CrmSupplierInfoController.export", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3252", + "source_location": "L3278", "_origin": "ast", - "id": "app_api_crm_rationale_3252", + "id": "app_api_crm_rationale_3278", "community": 64, "norm_label": "\u5bfc\u51fa\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.export" }, @@ -3557,10 +3577,10 @@ "label": "\u6309\u5ba2\u6237ID\u67e5\u8be2\u5f00\u7968\u4fe1\u606f\uff08\u4e0e by-customer \u7b49\u4ef7\uff09", "file_type": "rationale", "source_file": "app/api/crm.py", - "source_location": "L3303", + "source_location": "L3329", "_origin": "ast", - "id": "app_api_crm_rationale_3303", - "community": 144, + "id": "app_api_crm_rationale_3329", + "community": 126, "norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)" }, { @@ -3570,7 +3590,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_crm_contract_routes", - "community": 91, + "community": 1, "norm_label": "crm_contract_routes.py" }, { @@ -3590,7 +3610,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_crm_contract_routes_rationale_1", - "community": 91, + "community": 1, "norm_label": "crm \u5408\u540c api \u8def\u7531 \u2014 get/put/delete/post \u5bf9\u9f50\u539f java crm" }, { @@ -3640,7 +3660,7 @@ "source_location": "L85", "_origin": "ast", "id": "app_api_crm_quote_routes_register_quote_routes", - "community": 81, + "community": 106, "norm_label": "register_quote_routes()" }, { @@ -3660,7 +3680,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_db_init", - "community": 26, + "community": 48, "norm_label": "__init__.py" }, { @@ -3670,7 +3690,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_api_db_init_db_health", - "community": 26, + "community": 48, "norm_label": "db_health()" }, { @@ -3680,7 +3700,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_db_init_rationale_1", - "community": 26, + "community": 48, "norm_label": "\u5730\u78c5 api \u8def\u7531\u805a\u5408 \u2014 rest \u98ce\u683c,\u534f\u8bae\u5bf9\u9f50\u539f simple-dibang-xiaoshou\u3002" }, { @@ -4330,7 +4350,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_db_public_vehicles", - "community": 26, + "community": 114, "norm_label": "public_vehicles.py" }, { @@ -4340,7 +4360,7 @@ "source_location": "L16", "_origin": "ast", "id": "app_api_db_public_vehicles_resolve_tenant_no", - "community": 26, + "community": 114, "norm_label": "_resolve_tenant_no()" }, { @@ -4350,7 +4370,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_db_public_vehicles_py_session", - "community": 26, + "community": 114, "norm_label": "session" }, { @@ -4360,7 +4380,7 @@ "source_location": "L43", "_origin": "ast", "id": "app_api_db_public_vehicles_list_public_vehicle_plates", - "community": 26, + "community": 114, "norm_label": "list_public_vehicle_plates()" }, { @@ -4370,7 +4390,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_db_public_vehicles_rationale_1", - "community": 26, + "community": 114, "norm_label": "\u5730\u78c5\u516c\u5171\u53ea\u8bfb:\u514d\u767b\u8f66\u724c options(\u73b0\u573a\u586b\u5199\u9875)" }, { @@ -4380,7 +4400,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_api_db_public_vehicles_rationale_49", - "community": 26, + "community": 114, "norm_label": "\u514d\u767b:\u6309\u51fa\u5165\u5e93/\u8ba1\u5212\u89e3\u6790 tenant_no,\u8fd4\u56de pl_vehicle \u8f66\u724c(self + carrier)\u3002" }, { @@ -4620,7 +4640,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_menu", - "community": 26, + "community": 14, "norm_label": "menu.py" }, { @@ -4630,7 +4650,7 @@ "source_location": "L695", "_origin": "ast", "id": "app_api_menu_get_menu_list", - "community": 26, + "community": 14, "norm_label": "get_menu_list()" }, { @@ -4640,7 +4660,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_menu_rationale_1", - "community": 26, + "community": 14, "norm_label": "\u8fd0\u8425\u7aef\u83dc\u5355\u63a5\u53e3(\u4e0e web-admin \u524d\u7aef\u9759\u6001\u8def\u7531 sqxp.ts \u5bf9\u9f50,14 \u4e2a\u4e00\u7ea7\u83dc\u5355)" }, { @@ -4650,7 +4670,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_monitor", - "community": 26, + "community": 60, "norm_label": "monitor.py" }, { @@ -4660,7 +4680,7 @@ "source_location": "L16", "_origin": "ast", "id": "app_api_monitor_user_info", - "community": 26, + "community": 60, "norm_label": "_user_info()" }, { @@ -4670,7 +4690,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_api_monitor_operlog_list", - "community": 26, + "community": 60, "norm_label": "operlog_list()" }, { @@ -4680,7 +4700,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_monitor_py_session", - "community": 26, + "community": 60, "norm_label": "session" }, { @@ -4690,7 +4710,7 @@ "source_location": "L67", "_origin": "ast", "id": "app_api_monitor_operlog_detail", - "community": 26, + "community": 60, "norm_label": "operlog_detail()" }, { @@ -4700,7 +4720,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_api_monitor_rationale_33", - "community": 26, + "community": 60, "norm_label": "\u64cd\u4f5c\u65e5\u5fd7\u5206\u9875\u5217\u8868(\u57fa\u4e8e api \u8bf7\u6c42\u65e5\u5fd7\u9002\u914d ruoyi operlog \u7ed3\u6784)" }, { @@ -4710,7 +4730,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_init", - "community": 26, + "community": 14, "norm_label": "__init__.py" }, { @@ -4720,7 +4740,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_base_data", - "community": 97, + "community": 154, "norm_label": "base_data.py" }, { @@ -4730,7 +4750,7 @@ "source_location": "L74", "_origin": "ast", "id": "app_api_pl_base_data_list_carriers", - "community": 97, + "community": 154, "norm_label": "list_carriers()" }, { @@ -4740,7 +4760,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_base_data_py_session", - "community": 105, + "community": 154, "norm_label": "session" }, { @@ -4750,7 +4770,7 @@ "source_location": "L118", "_origin": "ast", "id": "app_api_pl_base_data_create_carrier", - "community": 97, + "community": 154, "norm_label": "create_carrier()" }, { @@ -4760,7 +4780,7 @@ "source_location": "L148", "_origin": "ast", "id": "app_api_pl_base_data_get_carrier", - "community": 97, + "community": 154, "norm_label": "get_carrier()" }, { @@ -4770,7 +4790,7 @@ "source_location": "L159", "_origin": "ast", "id": "app_api_pl_base_data_update_carrier", - "community": 97, + "community": 154, "norm_label": "update_carrier()" }, { @@ -4790,7 +4810,7 @@ "source_location": "L202", "_origin": "ast", "id": "app_api_pl_base_data_approve_carrier", - "community": 97, + "community": 154, "norm_label": "approve_carrier()" }, { @@ -4800,7 +4820,7 @@ "source_location": "L211", "_origin": "ast", "id": "app_api_pl_base_data_reject_carrier", - "community": 97, + "community": 154, "norm_label": "reject_carrier()" }, { @@ -4870,7 +4890,7 @@ "source_location": "L542", "_origin": "ast", "id": "app_api_pl_base_data_delete_vehicle", - "community": 37, + "community": 154, "norm_label": "delete_vehicle()" }, { @@ -4880,7 +4900,7 @@ "source_location": "L575", "_origin": "ast", "id": "app_api_pl_base_data_personnel_to_read", - "community": 105, + "community": 154, "norm_label": "_personnel_to_read()" }, { @@ -4890,7 +4910,7 @@ "source_location": "L590", "_origin": "ast", "id": "app_api_pl_base_data_personnel_to_detail", - "community": 105, + "community": 154, "norm_label": "_personnel_to_detail()" }, { @@ -4910,7 +4930,7 @@ "source_location": "L660", "_origin": "ast", "id": "app_api_pl_base_data_create_personnel", - "community": 105, + "community": 154, "norm_label": "create_personnel()" }, { @@ -4920,7 +4940,7 @@ "source_location": "L712", "_origin": "ast", "id": "app_api_pl_base_data_get_personnel", - "community": 105, + "community": 154, "norm_label": "get_personnel()" }, { @@ -4930,7 +4950,7 @@ "source_location": "L723", "_origin": "ast", "id": "app_api_pl_base_data_update_personnel", - "community": 105, + "community": 154, "norm_label": "update_personnel()" }, { @@ -4940,7 +4960,7 @@ "source_location": "L779", "_origin": "ast", "id": "app_api_pl_base_data_delete_personnel", - "community": 37, + "community": 154, "norm_label": "delete_personnel()" }, { @@ -4950,7 +4970,7 @@ "source_location": "L812", "_origin": "ast", "id": "app_api_pl_base_data_personnel_to_driver_read", - "community": 97, + "community": 154, "norm_label": "_personnel_to_driver_read()" }, { @@ -4960,7 +4980,7 @@ "source_location": "L831", "_origin": "ast", "id": "app_api_pl_base_data_list_drivers", - "community": 97, + "community": 154, "norm_label": "list_drivers()" }, { @@ -4970,7 +4990,7 @@ "source_location": "L867", "_origin": "ast", "id": "app_api_pl_base_data_create_driver", - "community": 97, + "community": 154, "norm_label": "create_driver()" }, { @@ -4980,7 +5000,7 @@ "source_location": "L892", "_origin": "ast", "id": "app_api_pl_base_data_get_driver", - "community": 97, + "community": 154, "norm_label": "get_driver()" }, { @@ -4990,7 +5010,7 @@ "source_location": "L903", "_origin": "ast", "id": "app_api_pl_base_data_update_driver", - "community": 97, + "community": 154, "norm_label": "update_driver()" }, { @@ -5000,7 +5020,7 @@ "source_location": "L928", "_origin": "ast", "id": "app_api_pl_base_data_delete_driver", - "community": 37, + "community": 154, "norm_label": "delete_driver()" }, { @@ -5010,7 +5030,7 @@ "source_location": "L947", "_origin": "ast", "id": "app_api_pl_base_data_bind_vehicle_driver", - "community": 105, + "community": 68, "norm_label": "bind_vehicle_driver()" }, { @@ -5040,7 +5060,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_base_data_rationale_1", - "community": 97, + "community": 154, "norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - \u57fa\u7840\u6570\u636e api(\u627f\u8fd0\u5546\u3001\u8f66\u8f86\u3001\u4eba\u5458)" }, { @@ -5050,7 +5070,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_freight", - "community": 0, + "community": 28, "norm_label": "freight.py" }, { @@ -5060,7 +5080,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_api_pl_freight_generate_settlement_no", - "community": 0, + "community": 28, "norm_label": "_generate_settlement_no()" }, { @@ -5070,7 +5090,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_freight_py_session", - "community": 0, + "community": 28, "norm_label": "session" }, { @@ -5080,7 +5100,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_api_pl_freight_list_unsettled_plans", - "community": 0, + "community": 28, "norm_label": "list_unsettled_plans()" }, { @@ -5090,7 +5110,7 @@ "source_location": "L75", "_origin": "ast", "id": "app_api_pl_freight_list_settlements", - "community": 0, + "community": 28, "norm_label": "list_settlements()" }, { @@ -5100,7 +5120,7 @@ "source_location": "L105", "_origin": "ast", "id": "app_api_pl_freight_get_settlement_by_transport", - "community": 0, + "community": 28, "norm_label": "get_settlement_by_transport()" }, { @@ -5110,7 +5130,7 @@ "source_location": "L120", "_origin": "ast", "id": "app_api_pl_freight_create_settlement", - "community": 0, + "community": 28, "norm_label": "create_settlement()" }, { @@ -5120,7 +5140,7 @@ "source_location": "L139", "_origin": "ast", "id": "app_api_pl_freight_get_settlement", - "community": 0, + "community": 28, "norm_label": "get_settlement()" }, { @@ -5130,7 +5150,7 @@ "source_location": "L152", "_origin": "ast", "id": "app_api_pl_freight_update_settlement", - "community": 0, + "community": 28, "norm_label": "update_settlement()" }, { @@ -5140,7 +5160,7 @@ "source_location": "L170", "_origin": "ast", "id": "app_api_pl_freight_cancel_settlement", - "community": 0, + "community": 28, "norm_label": "cancel_settlement()" }, { @@ -5150,7 +5170,7 @@ "source_location": "L182", "_origin": "ast", "id": "app_api_pl_freight_delete_settlement", - "community": 0, + "community": 28, "norm_label": "delete_settlement()" }, { @@ -5160,7 +5180,7 @@ "source_location": "L194", "_origin": "ast", "id": "app_api_pl_freight_submit_settlement_approval", - "community": 0, + "community": 28, "norm_label": "submit_settlement_approval()" }, { @@ -5170,7 +5190,7 @@ "source_location": "L213", "_origin": "ast", "id": "app_api_pl_freight_process_settlement_approval", - "community": 0, + "community": 28, "norm_label": "process_settlement_approval()" }, { @@ -5180,7 +5200,7 @@ "source_location": "L233", "_origin": "ast", "id": "app_api_pl_freight_withdraw_settlement_approval", - "community": 0, + "community": 28, "norm_label": "withdraw_settlement_approval()" }, { @@ -5190,7 +5210,7 @@ "source_location": "L245", "_origin": "ast", "id": "app_api_pl_freight_get_settlement_approval_flow", - "community": 0, + "community": 28, "norm_label": "get_settlement_approval_flow()" }, { @@ -5200,7 +5220,7 @@ "source_location": "L256", "_origin": "ast", "id": "app_api_pl_freight_disburse_settlement", - "community": 0, + "community": 28, "norm_label": "disburse_settlement()" }, { @@ -5210,7 +5230,7 @@ "source_location": "L276", "_origin": "ast", "id": "app_api_pl_freight_submit_settlement_legacy", - "community": 0, + "community": 28, "norm_label": "submit_settlement_legacy()" }, { @@ -5220,7 +5240,7 @@ "source_location": "L285", "_origin": "ast", "id": "app_api_pl_freight_approve_settlement_legacy", - "community": 0, + "community": 28, "norm_label": "approve_settlement_legacy()" }, { @@ -5230,7 +5250,7 @@ "source_location": "L294", "_origin": "ast", "id": "app_api_pl_freight_list_vouchers", - "community": 0, + "community": 28, "norm_label": "list_vouchers()" }, { @@ -5240,7 +5260,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_inventory", - "community": 28, + "community": 0, "norm_label": "inventory.py" }, { @@ -5250,7 +5270,7 @@ "source_location": "L50", "_origin": "ast", "id": "app_api_pl_inventory_get_inventory_ledger", - "community": 28, + "community": 0, "norm_label": "get_inventory_ledger()" }, { @@ -5260,7 +5280,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_inventory_py_session", - "community": 28, + "community": 0, "norm_label": "session" }, { @@ -5270,7 +5290,7 @@ "source_location": "L81", "_origin": "ast", "id": "app_api_pl_inventory_set_warning_threshold", - "community": 28, + "community": 0, "norm_label": "set_warning_threshold()" }, { @@ -5280,7 +5300,7 @@ "source_location": "L136", "_origin": "ast", "id": "app_api_pl_inventory_list_warnings", - "community": 28, + "community": 0, "norm_label": "list_warnings()" }, { @@ -5290,7 +5310,7 @@ "source_location": "L155", "_origin": "ast", "id": "app_api_pl_inventory_update_warning", - "community": 28, + "community": 0, "norm_label": "update_warning()" }, { @@ -5300,7 +5320,7 @@ "source_location": "L195", "_origin": "ast", "id": "app_api_pl_inventory_list_transactions", - "community": 28, + "community": 0, "norm_label": "list_transactions()" }, { @@ -5310,7 +5330,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_inventory_py_date", - "community": 28, + "community": 0, "norm_label": "date" }, { @@ -5320,7 +5340,7 @@ "source_location": "L238", "_origin": "ast", "id": "app_api_pl_inventory_get_summary", - "community": 28, + "community": 0, "norm_label": "get_summary()" }, { @@ -5330,7 +5350,7 @@ "source_location": "L300", "_origin": "ast", "id": "app_api_pl_inventory_document_reminder_stats", - "community": 28, + "community": 0, "norm_label": "document_reminder_stats()" }, { @@ -5340,7 +5360,7 @@ "source_location": "L320", "_origin": "ast", "id": "app_api_pl_inventory_list_document_reminders", - "community": 28, + "community": 0, "norm_label": "list_document_reminders()" }, { @@ -5350,7 +5370,7 @@ "source_location": "L342", "_origin": "ast", "id": "app_api_pl_inventory_update_document_reminder", - "community": 28, + "community": 0, "norm_label": "update_document_reminder()" }, { @@ -5360,7 +5380,7 @@ "source_location": "L379", "_origin": "ast", "id": "app_api_pl_inventory_check_document_expiry", - "community": 28, + "community": 0, "norm_label": "check_document_expiry()" }, { @@ -5570,7 +5590,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_menu_badges", - "community": 26, + "community": 14, "norm_label": "menu_badges.py" }, { @@ -5580,7 +5600,7 @@ "source_location": "L17", "_origin": "ast", "id": "app_api_pl_menu_badges_menu_badge_stats", - "community": 26, + "community": 14, "norm_label": "menu_badge_stats()" }, { @@ -5590,7 +5610,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_menu_badges_py_session", - "community": 26, + "community": 14, "norm_label": "session" }, { @@ -5600,7 +5620,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_ocr", - "community": 26, + "community": 14, "norm_label": "ocr.py" }, { @@ -5610,7 +5630,7 @@ "source_location": "L15", "_origin": "ast", "id": "app_api_pl_ocr_recognizecertbody", - "community": 26, + "community": 14, "norm_label": "recognizecertbody" }, { @@ -5620,7 +5640,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_api_pl_ocr_recognizecertresult", - "community": 26, + "community": 14, "norm_label": "recognizecertresult" }, { @@ -5630,7 +5650,7 @@ "source_location": "L34", "_origin": "ast", "id": "app_api_pl_ocr_recognize_cert", - "community": 26, + "community": 14, "norm_label": "recognize_cert()" }, { @@ -5640,7 +5660,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_ocr_py_session", - "community": 26, + "community": 14, "norm_label": "session" }, { @@ -5660,7 +5680,7 @@ "source_location": "L97", "_origin": "ast", "id": "app_api_pl_plan_resolve_list_product_name", - "community": 179, + "community": 51, "norm_label": "_resolve_list_product_name()" }, { @@ -5770,7 +5790,7 @@ "source_location": "L232", "_origin": "ast", "id": "app_api_pl_plan_generate_notify_message", - "community": 125, + "community": 51, "norm_label": "_generate_notify_message()" }, { @@ -5780,7 +5800,7 @@ "source_location": "L253", "_origin": "ast", "id": "app_api_pl_plan_list_plans", - "community": 179, + "community": 51, "norm_label": "list_plans()" }, { @@ -5810,7 +5830,7 @@ "source_location": "L518", "_origin": "ast", "id": "app_api_pl_plan_create_plan_full", - "community": 179, + "community": 51, "norm_label": "create_plan_full()" }, { @@ -5840,7 +5860,7 @@ "source_location": "L805", "_origin": "ast", "id": "app_api_pl_plan_update_plan", - "community": 179, + "community": 51, "norm_label": "update_plan()" }, { @@ -5870,7 +5890,7 @@ "source_location": "L992", "_origin": "ast", "id": "app_api_pl_plan_build_driver_url", - "community": 45, + "community": 174, "norm_label": "_build_driver_url()" }, { @@ -5880,7 +5900,7 @@ "source_location": "L998", "_origin": "ast", "id": "app_api_pl_plan_get_plan_arrange_info", - "community": 45, + "community": 174, "norm_label": "get_plan_arrange_info()" }, { @@ -6020,7 +6040,7 @@ "source_location": "L103", "_origin": "ast", "id": "app_api_pl_plan_rationale_103", - "community": 179, + "community": 51, "norm_label": "\u5217\u8868\u5c55\u793a\u7528:\u4f18\u5148 crm \u6807\u51c6\u540d(\u8be6\u60c5\u4ecd\u8fd4\u56de\u5e93\u5185 product_name,\u4ee5\u4fbf\u7f16\u8f91\u53cd\u63a8\u522b\u540d)\u3002" }, { @@ -6060,7 +6080,7 @@ "source_location": "L523", "_origin": "ast", "id": "app_api_pl_plan_rationale_523", - "community": 179, + "community": 51, "norm_label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212(\u5b8c\u6574\u8868\u5355:\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86,\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93)" }, { @@ -6080,7 +6100,7 @@ "source_location": "L1003", "_origin": "ast", "id": "app_api_pl_plan_rationale_1003", - "community": 45, + "community": 174, "norm_label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054(\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801)\u3002" }, { @@ -6330,7 +6350,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_public_transport", - "community": 174, + "community": 67, "norm_label": "public_transport.py" }, { @@ -6340,7 +6360,7 @@ "source_location": "L47", "_origin": "ast", "id": "app_api_pl_public_transport_resolve_unit_label", - "community": 174, + "community": 67, "norm_label": "_resolve_unit_label()" }, { @@ -6350,7 +6370,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_api_pl_public_transport_get_transport_by_token", - "community": 174, + "community": 67, "norm_label": "_get_transport_by_token()" }, { @@ -6360,7 +6380,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_public_transport_py_session", - "community": 174, + "community": 67, "norm_label": "session" }, { @@ -6370,7 +6390,7 @@ "source_location": "L68", "_origin": "ast", "id": "app_api_pl_public_transport_parse_feedback_images", - "community": 174, + "community": 67, "norm_label": "_parse_feedback_images()" }, { @@ -6380,7 +6400,7 @@ "source_location": "L80", "_origin": "ast", "id": "app_api_pl_public_transport_format_plan_date", - "community": 174, + "community": 67, "norm_label": "_format_plan_date()" }, { @@ -6390,7 +6410,7 @@ "source_location": "L90", "_origin": "ast", "id": "app_api_pl_public_transport_resolve_other_personnel", - "community": 174, + "community": 67, "norm_label": "_resolve_other_personnel()" }, { @@ -6400,7 +6420,7 @@ "source_location": "L119", "_origin": "ast", "id": "app_api_pl_public_transport_build_public_page", - "community": 174, + "community": 67, "norm_label": "_build_public_page()" }, { @@ -6410,7 +6430,7 @@ "source_location": "L275", "_origin": "ast", "id": "app_api_pl_public_transport_get_public_transport", - "community": 174, + "community": 67, "norm_label": "get_public_transport()" }, { @@ -6420,7 +6440,7 @@ "source_location": "L282", "_origin": "ast", "id": "app_api_pl_public_transport_save_public_feedback", - "community": 174, + "community": 67, "norm_label": "save_public_feedback()" }, { @@ -6430,7 +6450,7 @@ "source_location": "L338", "_origin": "ast", "id": "app_api_pl_public_transport_format_file_size", - "community": 174, + "community": 67, "norm_label": "_format_file_size()" }, { @@ -6440,7 +6460,7 @@ "source_location": "L347", "_origin": "ast", "id": "app_api_pl_public_transport_upload_public_attachment", - "community": 174, + "community": 67, "norm_label": "upload_public_attachment()" }, { @@ -6450,7 +6470,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_public_transport_py_uploadfile", - "community": 174, + "community": 67, "norm_label": "uploadfile" }, { @@ -6850,7 +6870,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance", - "community": 65, + "community": 81, "norm_label": "vehicle_maintenance.py" }, { @@ -6860,7 +6880,7 @@ "source_location": "L29", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_list_applies", - "community": 65, + "community": 81, "norm_label": "list_applies()" }, { @@ -6870,7 +6890,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_py_date", - "community": 65, + "community": 81, "norm_label": "date" }, { @@ -6880,7 +6900,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_py_session", - "community": 65, + "community": 81, "norm_label": "session" }, { @@ -6890,7 +6910,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_list_reminders", - "community": 65, + "community": 81, "norm_label": "list_reminders()" }, { @@ -6900,7 +6920,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_get_apply", - "community": 65, + "community": 81, "norm_label": "get_apply()" }, { @@ -6910,7 +6930,7 @@ "source_location": "L88", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_create_apply", - "community": 65, + "community": 81, "norm_label": "create_apply()" }, { @@ -6920,7 +6940,7 @@ "source_location": "L98", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_update_apply", - "community": 65, + "community": 81, "norm_label": "update_apply()" }, { @@ -6930,7 +6950,7 @@ "source_location": "L109", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_cancel_apply", - "community": 65, + "community": 81, "norm_label": "cancel_apply()" }, { @@ -6940,7 +6960,7 @@ "source_location": "L119", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_delete_applies", - "community": 65, + "community": 81, "norm_label": "delete_applies()" }, { @@ -6950,7 +6970,7 @@ "source_location": "L130", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_list_process_board", - "community": 65, + "community": 81, "norm_label": "list_process_board()" }, { @@ -6960,7 +6980,7 @@ "source_location": "L164", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_get_process", - "community": 65, + "community": 81, "norm_label": "get_process()" }, { @@ -6970,7 +6990,7 @@ "source_location": "L174", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_create_process", - "community": 65, + "community": 81, "norm_label": "create_process()" }, { @@ -6980,7 +7000,7 @@ "source_location": "L184", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_update_process", - "community": 65, + "community": 81, "norm_label": "update_process()" }, { @@ -6990,7 +7010,7 @@ "source_location": "L195", "_origin": "ast", "id": "app_api_pl_vehicle_maintenance_delete_processes", - "community": 65, + "community": 81, "norm_label": "delete_processes()" }, { @@ -7000,7 +7020,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_vehicle_recharge", - "community": 60, + "community": 93, "norm_label": "vehicle_recharge.py" }, { @@ -7010,7 +7030,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_list_applies", - "community": 60, + "community": 93, "norm_label": "list_applies()" }, { @@ -7020,7 +7040,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_py_date", - "community": 60, + "community": 93, "norm_label": "date" }, { @@ -7030,7 +7050,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_py_session", - "community": 60, + "community": 93, "norm_label": "session" }, { @@ -7040,7 +7060,7 @@ "source_location": "L62", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_pending_apply_options", - "community": 60, + "community": 93, "norm_label": "pending_apply_options()" }, { @@ -7050,7 +7070,7 @@ "source_location": "L72", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_get_apply", - "community": 60, + "community": 93, "norm_label": "get_apply()" }, { @@ -7060,7 +7080,7 @@ "source_location": "L82", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_create_apply", - "community": 60, + "community": 93, "norm_label": "create_apply()" }, { @@ -7070,7 +7090,7 @@ "source_location": "L92", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_update_apply", - "community": 60, + "community": 93, "norm_label": "update_apply()" }, { @@ -7080,7 +7100,7 @@ "source_location": "L103", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_cancel_apply", - "community": 60, + "community": 93, "norm_label": "cancel_apply()" }, { @@ -7090,7 +7110,7 @@ "source_location": "L113", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_delete_applies", - "community": 60, + "community": 93, "norm_label": "delete_applies()" }, { @@ -7100,7 +7120,7 @@ "source_location": "L124", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_list_records", - "community": 60, + "community": 93, "norm_label": "list_records()" }, { @@ -7110,7 +7130,7 @@ "source_location": "L156", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_list_disburse_board", - "community": 60, + "community": 93, "norm_label": "list_disburse_board()" }, { @@ -7120,7 +7140,7 @@ "source_location": "L190", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_get_record", - "community": 60, + "community": 93, "norm_label": "get_record()" }, { @@ -7130,7 +7150,7 @@ "source_location": "L200", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_create_record", - "community": 60, + "community": 93, "norm_label": "create_record()" }, { @@ -7140,7 +7160,7 @@ "source_location": "L210", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_update_record", - "community": 60, + "community": 93, "norm_label": "update_record()" }, { @@ -7150,7 +7170,7 @@ "source_location": "L221", "_origin": "ast", "id": "app_api_pl_vehicle_recharge_delete_records", - "community": 60, + "community": 93, "norm_label": "delete_records()" }, { @@ -7160,7 +7180,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_pl_vehicle_urea", - "community": 11, + "community": 62, "norm_label": "vehicle_urea.py" }, { @@ -7170,7 +7190,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_api_pl_vehicle_urea_list_applies", - "community": 11, + "community": 62, "norm_label": "list_applies()" }, { @@ -7180,7 +7200,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_urea_py_date", - "community": 11, + "community": 62, "norm_label": "date" }, { @@ -7190,7 +7210,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_pl_vehicle_urea_py_session", - "community": 11, + "community": 62, "norm_label": "session" }, { @@ -7200,7 +7220,7 @@ "source_location": "L58", "_origin": "ast", "id": "app_api_pl_vehicle_urea_get_apply", - "community": 11, + "community": 62, "norm_label": "get_apply()" }, { @@ -7210,7 +7230,7 @@ "source_location": "L68", "_origin": "ast", "id": "app_api_pl_vehicle_urea_create_apply", - "community": 11, + "community": 62, "norm_label": "create_apply()" }, { @@ -7220,7 +7240,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_api_pl_vehicle_urea_update_apply", - "community": 11, + "community": 62, "norm_label": "update_apply()" }, { @@ -7230,7 +7250,7 @@ "source_location": "L89", "_origin": "ast", "id": "app_api_pl_vehicle_urea_cancel_apply", - "community": 11, + "community": 62, "norm_label": "cancel_apply()" }, { @@ -7240,7 +7260,7 @@ "source_location": "L99", "_origin": "ast", "id": "app_api_pl_vehicle_urea_delete_applies", - "community": 11, + "community": 62, "norm_label": "delete_applies()" }, { @@ -7250,7 +7270,7 @@ "source_location": "L110", "_origin": "ast", "id": "app_api_pl_vehicle_urea_list_disburse_board", - "community": 11, + "community": 62, "norm_label": "list_disburse_board()" }, { @@ -7260,7 +7280,7 @@ "source_location": "L142", "_origin": "ast", "id": "app_api_pl_vehicle_urea_get_disburse", - "community": 11, + "community": 62, "norm_label": "get_disburse()" }, { @@ -7270,7 +7290,7 @@ "source_location": "L152", "_origin": "ast", "id": "app_api_pl_vehicle_urea_create_disburse", - "community": 11, + "community": 62, "norm_label": "create_disburse()" }, { @@ -7280,7 +7300,7 @@ "source_location": "L162", "_origin": "ast", "id": "app_api_pl_vehicle_urea_update_disburse", - "community": 11, + "community": 62, "norm_label": "update_disburse()" }, { @@ -7290,7 +7310,7 @@ "source_location": "L173", "_origin": "ast", "id": "app_api_pl_vehicle_urea_delete_disburses", - "community": 11, + "community": 62, "norm_label": "delete_disburses()" }, { @@ -7370,7 +7390,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_public_py_request", - "community": 145, + "community": 162, "norm_label": "request" }, { @@ -7380,7 +7400,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_public_py_session", - "community": 145, + "community": 162, "norm_label": "session" }, { @@ -7410,7 +7430,7 @@ "source_location": "L230", "_origin": "ast", "id": "app_api_public_get_current_user_profile", - "community": 145, + "community": 162, "norm_label": "get_current_user_profile()" }, { @@ -7420,7 +7440,7 @@ "source_location": "L265", "_origin": "ast", "id": "app_api_public_get_web_auth_menu_codes", - "community": 145, + "community": 110, "norm_label": "get_web_auth_menu_codes()" }, { @@ -7430,7 +7450,7 @@ "source_location": "L314", "_origin": "ast", "id": "app_api_public_change_current_user_password", - "community": 145, + "community": 162, "norm_label": "change_current_user_password()" }, { @@ -7440,7 +7460,7 @@ "source_location": "L347", "_origin": "ast", "id": "app_api_public_public_quote_share", - "community": 145, + "community": 162, "norm_label": "public_quote_share()" }, { @@ -7510,7 +7530,7 @@ "source_location": "L231", "_origin": "ast", "id": "app_api_public_rationale_231", - "community": 145, + "community": 162, "norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u4fe1\u606f(\u4e0e sys_user \u5b57\u6bb5\u5bf9\u5e94)\u3002" }, { @@ -7520,7 +7540,7 @@ "source_location": "L266", "_origin": "ast", "id": "app_api_public_rationale_266", - "community": 145, + "community": 110, "norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u83dc\u5355\u6743\u9650\u6807\u8bc6(sys_menu.perms,\u7ecf\u89d2\u8272\u7ee7\u627f)\u3002" }, { @@ -7530,7 +7550,7 @@ "source_location": "L353", "_origin": "ast", "id": "app_api_public_rationale_353", - "community": 145, + "community": 162, "norm_label": "\u516c\u5f00\u5206\u4eab\u67e5\u770b\u62a5\u4ef7\u5355 \u2014 java: get /share/{sharecode}(\u65e0 jwt)" }, { @@ -7540,7 +7560,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_api_workflow", - "community": 36, + "community": 34, "norm_label": "workflow.py" }, { @@ -7550,7 +7570,7 @@ "source_location": "L27", "_origin": "ast", "id": "app_api_workflow_business_type_label", - "community": 36, + "community": 34, "norm_label": "_business_type_label()" }, { @@ -7560,7 +7580,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_api_workflow_portal_user_info", - "community": 36, + "community": 34, "norm_label": "_portal_user_info()" }, { @@ -7570,7 +7590,7 @@ "source_location": "L44", "_origin": "ast", "id": "app_api_workflow_assert_wf_instance_in_scope", - "community": 36, + "community": 34, "norm_label": "_assert_wf_instance_in_scope()" }, { @@ -7580,7 +7600,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_workflow_py_session", - "community": 36, + "community": 34, "norm_label": "session" }, { @@ -7590,7 +7610,7 @@ "source_location": "L66", "_origin": "ast", "id": "app_api_workflow_leave_form_fields", - "community": 36, + "community": 34, "norm_label": "_leave_form_fields()" }, { @@ -7600,7 +7620,7 @@ "source_location": "L90", "_origin": "ast", "id": "app_api_workflow_get_business_form_fields", - "community": 36, + "community": 34, "norm_label": "_get_business_form_fields()" }, { @@ -7610,7 +7630,7 @@ "source_location": "L103", "_origin": "ast", "id": "app_api_workflow_enrich_task_list", - "community": 36, + "community": 34, "norm_label": "_enrich_task_list()" }, { @@ -7620,7 +7640,7 @@ "source_location": "", "_origin": "ast", "id": "app_api_workflow_py_any", - "community": 36, + "community": 34, "norm_label": "any" }, { @@ -7630,7 +7650,7 @@ "source_location": "L120", "_origin": "ast", "id": "app_api_workflow_processdefcreatebody", - "community": 130, + "community": 34, "norm_label": "processdefcreatebody" }, { @@ -7640,7 +7660,7 @@ "source_location": "L130", "_origin": "ast", "id": "app_api_workflow_processdefupdatebody", - "community": 130, + "community": 34, "norm_label": "processdefupdatebody" }, { @@ -7650,7 +7670,7 @@ "source_location": "L140", "_origin": "ast", "id": "app_api_workflow_publishversionbody", - "community": 130, + "community": 34, "norm_label": "publishversionbody" }, { @@ -7660,7 +7680,7 @@ "source_location": "L149", "_origin": "ast", "id": "app_api_workflow_startinstancebody", - "community": 130, + "community": 34, "norm_label": "startinstancebody" }, { @@ -7670,7 +7690,7 @@ "source_location": "L159", "_origin": "ast", "id": "app_api_workflow_taskactionbody", - "community": 36, + "community": 34, "norm_label": "taskactionbody" }, { @@ -7680,7 +7700,7 @@ "source_location": "L176", "_origin": "ast", "id": "app_api_workflow_list_process_defs", - "community": 36, + "community": 34, "norm_label": "list_process_defs()" }, { @@ -7690,7 +7710,7 @@ "source_location": "L193", "_origin": "ast", "id": "app_api_workflow_create_process_def", - "community": 36, + "community": 34, "norm_label": "create_process_def()" }, { @@ -7700,7 +7720,7 @@ "source_location": "L216", "_origin": "ast", "id": "app_api_workflow_update_process_def", - "community": 36, + "community": 34, "norm_label": "update_process_def()" }, { @@ -7710,7 +7730,7 @@ "source_location": "L241", "_origin": "ast", "id": "app_api_workflow_delete_process_def", - "community": 36, + "community": 64, "norm_label": "delete_process_def()" }, { @@ -7720,7 +7740,7 @@ "source_location": "L259", "_origin": "ast", "id": "app_api_workflow_publish_version", - "community": 36, + "community": 34, "norm_label": "publish_version()" }, { @@ -7730,7 +7750,7 @@ "source_location": "L283", "_origin": "ast", "id": "app_api_workflow_list_versions", - "community": 36, + "community": 34, "norm_label": "list_versions()" }, { @@ -7740,7 +7760,7 @@ "source_location": "L294", "_origin": "ast", "id": "app_api_workflow_get_designer_data", - "community": 36, + "community": 34, "norm_label": "get_designer_data()" }, { @@ -7750,7 +7770,7 @@ "source_location": "L325", "_origin": "ast", "id": "app_api_workflow_start_instance", - "community": 36, + "community": 34, "norm_label": "start_instance()" }, { @@ -7760,7 +7780,7 @@ "source_location": "L363", "_origin": "ast", "id": "app_api_workflow_list_my_instances", - "community": 36, + "community": 34, "norm_label": "list_my_instances()" }, { @@ -7770,7 +7790,7 @@ "source_location": "L383", "_origin": "ast", "id": "app_api_workflow_get_instance_detail", - "community": 36, + "community": 34, "norm_label": "get_instance_detail()" }, { @@ -7780,7 +7800,7 @@ "source_location": "L447", "_origin": "ast", "id": "app_api_workflow_list_pending_tasks", - "community": 36, + "community": 34, "norm_label": "list_pending_tasks()" }, { @@ -7790,7 +7810,7 @@ "source_location": "L465", "_origin": "ast", "id": "app_api_workflow_list_completed_tasks", - "community": 36, + "community": 34, "norm_label": "list_completed_tasks()" }, { @@ -7800,7 +7820,7 @@ "source_location": "L488", "_origin": "ast", "id": "app_api_workflow_approve_task", - "community": 36, + "community": 34, "norm_label": "approve_task()" }, { @@ -7810,7 +7830,7 @@ "source_location": "L513", "_origin": "ast", "id": "app_api_workflow_reject_task", - "community": 36, + "community": 34, "norm_label": "reject_task()" }, { @@ -7820,7 +7840,7 @@ "source_location": "L543", "_origin": "ast", "id": "app_api_workflow_get_business_all_tasks", - "community": 36, + "community": 34, "norm_label": "get_business_all_tasks()" }, { @@ -7830,7 +7850,7 @@ "source_location": "L160", "_origin": "ast", "id": "app_api_workflow_rationale_160", - "community": 36, + "community": 34, "norm_label": "\u5ba1\u6279\u610f\u89c1:\u524d\u7aef\u4f20 commenttext,\u517c\u5bb9 comment\u3002" }, { @@ -7840,7 +7860,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_init", - "community": 163, + "community": 220, "norm_label": "__init__.py" }, { @@ -8190,7 +8210,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_api_request_log_middleware", - "community": 34, + "community": 60, "norm_label": "api_request_log_middleware.py" }, { @@ -8200,7 +8220,7 @@ "source_location": "L37", "_origin": "ast", "id": "app_core_api_request_log_middleware_truncate", - "community": 34, + "community": 60, "norm_label": "_truncate()" }, { @@ -8210,7 +8230,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_core_api_request_log_middleware_truncate_utf8_bytes", - "community": 34, + "community": 60, "norm_label": "_truncate_utf8_bytes()" }, { @@ -8220,7 +8240,7 @@ "source_location": "L65", "_origin": "ast", "id": "app_core_api_request_log_middleware_redact_obj", - "community": 34, + "community": 60, "norm_label": "_redact_obj()" }, { @@ -8230,7 +8250,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_api_request_log_middleware_py_any", - "community": 34, + "community": 60, "norm_label": "any" }, { @@ -8240,7 +8260,7 @@ "source_location": "L84", "_origin": "ast", "id": "app_core_api_request_log_middleware_format_body_bytes", - "community": 34, + "community": 60, "norm_label": "_format_body_bytes()" }, { @@ -8250,7 +8270,7 @@ "source_location": "L111", "_origin": "ast", "id": "app_core_api_request_log_middleware_claims_from_auth", - "community": 34, + "community": 60, "norm_label": "_claims_from_auth()" }, { @@ -8260,7 +8280,7 @@ "source_location": "L137", "_origin": "ast", "id": "app_core_api_request_log_middleware_should_skip_exclude", - "community": 34, + "community": 60, "norm_label": "_should_skip_exclude()" }, { @@ -8270,7 +8290,7 @@ "source_location": "L150", "_origin": "ast", "id": "app_core_api_request_log_middleware_should_skip", - "community": 34, + "community": 60, "norm_label": "_should_skip()" }, { @@ -8280,7 +8300,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_api_request_log_middleware_py_request", - "community": 34, + "community": 60, "norm_label": "request" }, { @@ -8290,7 +8310,7 @@ "source_location": "L163", "_origin": "ast", "id": "app_core_api_request_log_middleware_persist_log", - "community": 34, + "community": 60, "norm_label": "_persist_log()" }, { @@ -8300,7 +8320,7 @@ "source_location": "L224", "_origin": "ast", "id": "app_core_api_request_log_middleware_schedule_persist_log", - "community": 34, + "community": 60, "norm_label": "_schedule_persist_log()" }, { @@ -8320,7 +8340,7 @@ "source_location": "L248", "_origin": "ast", "id": "app_core_api_request_log_middleware_apirequestlogmiddleware_dispatch", - "community": 34, + "community": 60, "norm_label": ".dispatch()" }, { @@ -8330,7 +8350,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_api_request_log_middleware_rationale_1", - "community": 34, + "community": 60, "norm_label": "\u7edf\u4e00\u8bb0\u5f55 api \u8bf7\u6c42/\u54cd\u5e94\u51fa\u5165\u53c2\u7684\u4e2d\u95f4\u4ef6" }, { @@ -8340,7 +8360,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_attachment_biz", - "community": 125, + "community": 111, "norm_label": "attachment_biz.py" }, { @@ -8350,7 +8370,7 @@ "source_location": "L21", "_origin": "ast", "id": "app_core_attachment_biz_resolve_upload_folder", - "community": 125, + "community": 111, "norm_label": "resolve_upload_folder()" }, { @@ -8360,7 +8380,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_attachment_biz_rationale_1", - "community": 125, + "community": 111, "norm_label": "\u9644\u4ef6\u4e0a\u4f20 biztype \u4e0e minio \u76ee\u5f55\u6620\u5c04(\u5bf9\u9f50\u539f crm oss \u4e0a\u4f20\u8bed\u4e49)" }, { @@ -8370,7 +8390,7 @@ "source_location": "L22", "_origin": "ast", "id": "app_core_attachment_biz_rationale_22", - "community": 125, + "community": 111, "norm_label": "\u4f18\u5148\u4f7f\u7528\u663e\u5f0f folder;\u5426\u5219\u6309 biztype \u6620\u5c04\u9ed8\u8ba4\u76ee\u5f55\u3002" }, { @@ -8530,7 +8550,7 @@ "source_location": "L148", "_origin": "ast", "id": "app_core_auth_get_current_user_by_token", - "community": 145, + "community": 162, "norm_label": "get_current_user_by_token()" }, { @@ -8540,7 +8560,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_auth_py_session", - "community": 145, + "community": 162, "norm_label": "session" }, { @@ -8550,7 +8570,7 @@ "source_location": "L206", "_origin": "ast", "id": "app_core_auth_get_current_user", - "community": 145, + "community": 162, "norm_label": "get_current_user()" }, { @@ -8620,7 +8640,7 @@ "source_location": "L149", "_origin": "ast", "id": "app_core_auth_rationale_149", - "community": 145, + "community": 162, "norm_label": "\u6839\u636e token \u83b7\u53d6\u5f53\u524d\u7528\u6237(\u5305\u542b redis \u4f1a\u8bdd\u6821\u9a8c;\u4f1a\u8bdd\u6ed1\u52a8\u7eed\u671f)" }, { @@ -8630,7 +8650,7 @@ "source_location": "L210", "_origin": "ast", "id": "app_core_auth_rationale_210", - "community": 145, + "community": 162, "norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237(sync \u4f9d\u8d56,\u914d\u5408 sync \u8def\u7531\u5728\u7ebf\u7a0b\u6c60\u6267\u884c,\u907f\u514d\u963b\u585e\u4e8b\u4ef6\u5faa\u73af)\u3002" }, { @@ -8740,7 +8760,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_config", - "community": 163, + "community": 220, "norm_label": "config.py" }, { @@ -8770,7 +8790,7 @@ "source_location": "L184", "_origin": "ast", "id": "app_core_config_config", - "community": 163, + "community": 220, "norm_label": "config" }, { @@ -8970,7 +8990,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_database", - "community": 26, + "community": 14, "norm_label": "database.py" }, { @@ -8980,7 +9000,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_core_database_get_db", - "community": 26, + "community": 14, "norm_label": "get_db()" }, { @@ -8990,7 +9010,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_core_database_auto_fill_create_dept_id", - "community": 26, + "community": 14, "norm_label": "_auto_fill_create_dept_id()" }, { @@ -9000,7 +9020,7 @@ "source_location": "L39", "_origin": "ast", "id": "app_core_database_rationale_39", - "community": 26, + "community": 14, "norm_label": "orm before_insert \u94a9\u5b50:\u5f53 create_dept_id \u4e3a\u7a7a\u65f6,\u81ea\u52a8\u4ece\u8bf7\u6c42\u4e0a\u4e0b\u6587\u586b\u5145\u5f53\u524d\u7528\u6237\u90e8\u95e8 id" }, { @@ -9010,7 +9030,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_db_auth", - "community": 26, + "community": 14, "norm_label": "db_auth.py" }, { @@ -9020,7 +9040,7 @@ "source_location": "L22", "_origin": "ast", "id": "app_core_db_auth_dbusercontext", - "community": 0, + "community": 62, "norm_label": "dbusercontext" }, { @@ -9030,7 +9050,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_core_db_auth_dbusercontext_to_tenant_user_dict", - "community": 0, + "community": 62, "norm_label": ".to_tenant_user_dict()" }, { @@ -9040,7 +9060,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_db_auth_py_any", - "community": 0, + "community": 62, "norm_label": "any" }, { @@ -9050,7 +9070,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_core_db_auth_dbusercontext_to_user_info", - "community": 0, + "community": 62, "norm_label": ".to_user_info()" }, { @@ -9060,7 +9080,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_core_db_auth_get_db_current_user", - "community": 26, + "community": 14, "norm_label": "get_db_current_user()" }, { @@ -9070,7 +9090,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_core_db_auth_get_db_current_user_optional", - "community": 26, + "community": 162, "norm_label": "get_db_current_user_optional()" }, { @@ -9080,7 +9100,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_db_auth_py_session", - "community": 26, + "community": 162, "norm_label": "session" }, { @@ -9090,7 +9110,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_db_auth_rationale_1", - "community": 26, + "community": 14, "norm_label": "\u5730\u78c5\u6a21\u5757\u8ba4\u8bc1\u9002\u914d:\u95e8\u6237 jwt \u7528\u6237 \u2192 db \u4e1a\u52a1\u4e0a\u4e0b\u6587\u3002" }, { @@ -9100,7 +9120,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_core_db_auth_rationale_23", - "community": 0, + "community": 62, "norm_label": "db router/service \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587\u3002" }, { @@ -9110,7 +9130,7 @@ "source_location": "L39", "_origin": "ast", "id": "app_core_db_auth_rationale_39", - "community": 0, + "community": 62, "norm_label": "\u4e0e\u95e8\u6237 jwt / apply_data_scope \u6240\u9700\u7684 user_info \u5b57\u6bb5\u5bf9\u9f50\u3002" }, { @@ -9120,7 +9140,7 @@ "source_location": "L65", "_origin": "ast", "id": "app_core_db_auth_rationale_65", - "community": 26, + "community": 162, "norm_label": "\u6709 bearer \u4e14\u4e3a admin/super_admin \u65f6\u8fd4\u56de\u4e0a\u4e0b\u6587,\u5426\u5219 none(\u4f9b\u4e09\u65b9 h5 \u65e0\u767b\u5f55\u8c03\u7528)\u3002" }, { @@ -9650,7 +9670,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_menu_guard", - "community": 26, + "community": 14, "norm_label": "menu_guard.py" }, { @@ -9660,7 +9680,7 @@ "source_location": "L15", "_origin": "ast", "id": "app_core_menu_guard_require_admin_or_super_admin", - "community": 26, + "community": 14, "norm_label": "require_admin_or_super_admin()" }, { @@ -9690,7 +9710,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_core_menu_guard_require_menu_code", - "community": 71, + "community": 14, "norm_label": "require_menu_code()" }, { @@ -9700,7 +9720,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_menu_guard_rationale_1", - "community": 26, + "community": 14, "norm_label": "\u83dc\u5355 code \u6743\u9650\u5b88\u536b(v0.3:\u901a\u8fc7 sys_user_role \u2192 sys_role_menu \u2192 sys_menu.perms)" }, { @@ -9710,7 +9730,7 @@ "source_location": "L16", "_origin": "ast", "id": "app_core_menu_guard_rationale_16", - "community": 26, + "community": 14, "norm_label": "\u8fd0\u8425\u7aef\u89d2\u8272\u5b88\u536b:admin / super_admin \u53ef\u8bbf\u95ee\u3002" }, { @@ -9730,7 +9750,7 @@ "source_location": "L29", "_origin": "ast", "id": "app_core_menu_guard_rationale_29", - "community": 71, + "community": 14, "norm_label": "\u63a5\u53e3\u83dc\u5355\u6743\u9650\u5b88\u536b\u3002super_admin \u76f4\u63a5\u653e\u884c\u3002" }, { @@ -9740,7 +9760,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_oper_log_context", - "community": 34, + "community": 60, "norm_label": "oper_log_context.py" }, { @@ -9750,7 +9770,7 @@ "source_location": "L10", "_origin": "ast", "id": "app_core_oper_log_context_operlogmeta", - "community": 34, + "community": 60, "norm_label": "operlogmeta" }, { @@ -9760,7 +9780,7 @@ "source_location": "L20", "_origin": "ast", "id": "app_core_oper_log_context_set_oper_log_meta", - "community": 34, + "community": 60, "norm_label": "set_oper_log_meta()" }, { @@ -9770,7 +9790,7 @@ "source_location": "L24", "_origin": "ast", "id": "app_core_oper_log_context_get_oper_log_meta", - "community": 34, + "community": 60, "norm_label": "get_oper_log_meta()" }, { @@ -9780,7 +9800,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_core_oper_log_context_clear_oper_log_meta", - "community": 34, + "community": 60, "norm_label": "clear_oper_log_meta()" }, { @@ -9790,7 +9810,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_core_oper_log_context_snapshot_oper_log_meta", - "community": 34, + "community": 60, "norm_label": "snapshot_oper_log_meta()" }, { @@ -9800,7 +9820,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_oper_log_context_rationale_1", - "community": 34, + "community": 60, "norm_label": "\u8bf7\u6c42\u7ea7\u64cd\u4f5c\u65e5\u5fd7\u5143\u6570\u636e(contextvar)" }, { @@ -9810,7 +9830,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_core_oper_log_context_rationale_33", - "community": 34, + "community": 60, "norm_label": "\u4f9b\u5f02\u6b65\u843d\u5e93\u7ebf\u7a0b\u4f7f\u7528,\u907f\u514d contextvar \u8de8\u7ebf\u7a0b\u4e22\u5931\u3002" }, { @@ -9820,7 +9840,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_oper_log_decorator", - "community": 34, + "community": 60, "norm_label": "oper_log_decorator.py" }, { @@ -9830,7 +9850,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_core_oper_log_decorator_to_dict", - "community": 34, + "community": 60, "norm_label": "_to_dict()" }, { @@ -9840,7 +9860,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_oper_log_decorator_py_any", - "community": 34, + "community": 60, "norm_label": "any" }, { @@ -9850,7 +9870,7 @@ "source_location": "L36", "_origin": "ast", "id": "app_core_oper_log_decorator_pick_field", - "community": 34, + "community": 60, "norm_label": "_pick_field()" }, { @@ -9860,7 +9880,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_core_oper_log_decorator_resolve_business_id", - "community": 34, + "community": 60, "norm_label": "_resolve_business_id()" }, { @@ -9870,7 +9890,7 @@ "source_location": "L73", "_origin": "ast", "id": "app_core_oper_log_decorator_format_summary", - "community": 34, + "community": 60, "norm_label": "_format_summary()" }, { @@ -9880,7 +9900,7 @@ "source_location": "L95", "_origin": "ast", "id": "app_core_oper_log_decorator_preserve_fastapi_signature", - "community": 34, + "community": 60, "norm_label": "_preserve_fastapi_signature()" }, { @@ -9890,7 +9910,7 @@ "source_location": "L118", "_origin": "ast", "id": "app_core_oper_log_decorator_oper_log", - "community": 34, + "community": 60, "norm_label": "oper_log()" }, { @@ -9900,7 +9920,7 @@ "source_location": "", "_origin": "ast", "id": "f", - "community": 34, + "community": 60, "norm_label": "f" }, { @@ -9910,7 +9930,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_oper_log_decorator_rationale_1", - "community": 34, + "community": 60, "norm_label": "\u8def\u7531\u64cd\u4f5c\u65e5\u5fd7\u88c5\u9970\u5668:\u5199\u5165 contextvar \u4f9b\u4e2d\u95f4\u4ef6\u843d\u5e93" }, { @@ -9920,7 +9940,7 @@ "source_location": "L96", "_origin": "ast", "id": "app_core_oper_log_decorator_rationale_96", - "community": 34, + "community": 60, "norm_label": "fastapi \u901a\u8fc7 inspect.signature + wrapper.__globals__ \u89e3\u6790\u7c7b\u578b;\u9700\u5728\u539f\u51fd\u6570\u547d\u540d\u7a7a\u95f4\u4e0b\u89e3\u6790\u540e\u5199\u56de\u3002" }, { @@ -9930,7 +9950,7 @@ "source_location": "L125", "_origin": "ast", "id": "app_core_oper_log_decorator_rationale_125", - "community": 34, + "community": 60, "norm_label": "\u5728 handler \u6267\u884c\u524d\u8bbe\u7f6e\u64cd\u4f5c\u65e5\u5fd7\u5143\u6570\u636e\u3002" }, { @@ -9940,7 +9960,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_oper_log_infer", - "community": 34, + "community": 60, "norm_label": "oper_log_infer.py" }, { @@ -9950,7 +9970,7 @@ "source_location": "L42", "_origin": "ast", "id": "app_core_oper_log_infer_title_from_path", - "community": 34, + "community": 60, "norm_label": "title_from_path()" }, { @@ -9960,7 +9980,7 @@ "source_location": "L50", "_origin": "ast", "id": "app_core_oper_log_infer_business_type_from_path", - "community": 34, + "community": 60, "norm_label": "business_type_from_path()" }, { @@ -10230,7 +10250,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_response_py_any", - "community": 3, + "community": 64, "norm_label": "any" }, { @@ -10260,7 +10280,7 @@ "source_location": "L56", "_origin": "ast", "id": "app_core_response_error_response", - "community": 3, + "community": 64, "norm_label": "error_response()" }, { @@ -10350,7 +10370,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_core_storage_basestorage", - "community": 171, + "community": 172, "norm_label": "basestorage" }, { @@ -10360,7 +10380,7 @@ "source_location": "L64", "_origin": "ast", "id": "app_core_storage_basestorage_upload_file", - "community": 171, + "community": 172, "norm_label": ".upload_file()" }, { @@ -10370,7 +10390,7 @@ "source_location": "L68", "_origin": "ast", "id": "app_core_storage_basestorage_upload_base64", - "community": 171, + "community": 172, "norm_label": ".upload_base64()" }, { @@ -10380,7 +10400,7 @@ "source_location": "L72", "_origin": "ast", "id": "app_core_storage_basestorage_delete_file", - "community": 171, + "community": 172, "norm_label": ".delete_file()" }, { @@ -10390,7 +10410,7 @@ "source_location": "L76", "_origin": "ast", "id": "app_core_storage_basestorage_get_url", - "community": 171, + "community": 172, "norm_label": ".get_url()" }, { @@ -10400,7 +10420,7 @@ "source_location": "L80", "_origin": "ast", "id": "app_core_storage_basestorage_presigned_download_url", - "community": 171, + "community": 172, "norm_label": ".presigned_download_url()" }, { @@ -10410,7 +10430,7 @@ "source_location": "L86", "_origin": "ast", "id": "app_core_storage_basestorage_presigned_preview_url", - "community": 171, + "community": 172, "norm_label": ".presigned_preview_url()" }, { @@ -10420,7 +10440,7 @@ "source_location": "L91", "_origin": "ast", "id": "app_core_storage_localstorage", - "community": 172, + "community": 171, "norm_label": "localstorage" }, { @@ -10430,7 +10450,7 @@ "source_location": "L94", "_origin": "ast", "id": "app_core_storage_localstorage_init", - "community": 172, + "community": 171, "norm_label": ".__init__()" }, { @@ -10440,7 +10460,7 @@ "source_location": "L98", "_origin": "ast", "id": "app_core_storage_localstorage_ensure_dir", - "community": 172, + "community": 171, "norm_label": "._ensure_dir()" }, { @@ -10450,7 +10470,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_storage_py_path", - "community": 172, + "community": 171, "norm_label": "path" }, { @@ -10460,7 +10480,7 @@ "source_location": "L104", "_origin": "ast", "id": "app_core_storage_localstorage_generate_filename", - "community": 172, + "community": 171, "norm_label": "._generate_filename()" }, { @@ -10470,7 +10490,7 @@ "source_location": "L110", "_origin": "ast", "id": "app_core_storage_localstorage_upload_file", - "community": 172, + "community": 171, "norm_label": ".upload_file()" }, { @@ -10480,7 +10500,7 @@ "source_location": "L125", "_origin": "ast", "id": "app_core_storage_localstorage_upload_base64", - "community": 172, + "community": 171, "norm_label": ".upload_base64()" }, { @@ -10490,7 +10510,7 @@ "source_location": "L134", "_origin": "ast", "id": "app_core_storage_localstorage_delete_file", - "community": 172, + "community": 171, "norm_label": ".delete_file()" }, { @@ -10500,7 +10520,7 @@ "source_location": "L151", "_origin": "ast", "id": "app_core_storage_localstorage_get_url", - "community": 172, + "community": 171, "norm_label": ".get_url()" }, { @@ -10810,7 +10830,7 @@ "source_location": "L83", "_origin": "ast", "id": "app_core_storage_rationale_83", - "community": 171, + "community": 172, "norm_label": "\u5e26\u4e0b\u8f7d\u6587\u4ef6\u540d\u7684\u8bbf\u95ee url;\u9ed8\u8ba4\u5b9e\u73b0\u4e3a\u666e\u901a\u8bbf\u95ee\u5730\u5740\u3002" }, { @@ -10820,7 +10840,7 @@ "source_location": "L87", "_origin": "ast", "id": "app_core_storage_rationale_87", - "community": 171, + "community": 172, "norm_label": "\u6d4f\u89c8\u5668\u5185\u8054\u9884\u89c8 url;\u9ed8\u8ba4\u5b9e\u73b0\u4e3a\u666e\u901a\u8bbf\u95ee\u5730\u5740\u3002" }, { @@ -10900,7 +10920,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_utils", - "community": 74, + "community": 135, "norm_label": "utils.py" }, { @@ -10910,7 +10930,7 @@ "source_location": "L9", "_origin": "ast", "id": "app_core_utils_generate_uuid", - "community": 74, + "community": 68, "norm_label": "generate_uuid()" }, { @@ -10920,7 +10940,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_core_utils_generate_id", - "community": 34, + "community": 60, "norm_label": "generate_id()" }, { @@ -10930,7 +10950,7 @@ "source_location": "L20", "_origin": "ast", "id": "app_core_utils_generate_random_password", - "community": 74, + "community": 135, "norm_label": "generate_random_password()" }, { @@ -10940,7 +10960,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_core_utils_get_current_time", - "community": 74, + "community": 135, "norm_label": "get_current_time()" }, { @@ -10950,7 +10970,7 @@ "source_location": "", "_origin": "ast", "id": "app_core_utils_py_datetime", - "community": 74, + "community": 135, "norm_label": "datetime" }, { @@ -10970,7 +10990,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_core_utils_parse_datetime", - "community": 74, + "community": 135, "norm_label": "parse_datetime()" }, { @@ -10980,7 +11000,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_core_utils_get_file_size_display", - "community": 74, + "community": 135, "norm_label": "get_file_size_display()" }, { @@ -10990,7 +11010,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_wechat_message", - "community": 163, + "community": 50, "norm_label": "wechat_message.py" }, { @@ -11100,7 +11120,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_core_wechat_message_rationale_1", - "community": 163, + "community": 50, "norm_label": "\u5fae\u4fe1\u6d88\u606f\u901a\u77e5\u670d\u52a1 \u652f\u6301\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6a21\u677f\u6d88\u606f\u63a8\u9001 \u4f7f\u7528\u65b9\u5f0f: from app.core.wechat_message import wechatmes" }, { @@ -11500,7 +11520,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_init", - "community": 34, + "community": 130, "norm_label": "__init__.py" }, { @@ -11510,7 +11530,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_api_request_log", - "community": 131, + "community": 164, "norm_label": "api_request_log.py" }, { @@ -11520,7 +11540,7 @@ "source_location": "L12", "_origin": "ast", "id": "app_crud_api_request_log_apirequestlogcrud", - "community": 131, + "community": 164, "norm_label": "apirequestlogcrud" }, { @@ -11530,7 +11550,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_crud_api_request_log_apirequestlogcrud_get_multi_with_filters", - "community": 131, + "community": 164, "norm_label": ".get_multi_with_filters()" }, { @@ -11540,7 +11560,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_api_request_log_py_session", - "community": 131, + "community": 164, "norm_label": "session" }, { @@ -11550,7 +11570,7 @@ "source_location": "L85", "_origin": "ast", "id": "app_crud_api_request_log_apirequestlogcrud_get", - "community": 131, + "community": 164, "norm_label": ".get()" }, { @@ -11560,7 +11580,7 @@ "source_location": "L91", "_origin": "ast", "id": "app_crud_api_request_log_apirequestlogcrud_delete", - "community": 131, + "community": 164, "norm_label": ".delete()" }, { @@ -11570,7 +11590,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_base", - "community": 34, + "community": 130, "norm_label": "base.py" }, { @@ -11580,7 +11600,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_crud_base_camel_to_snake", - "community": 34, + "community": 130, "norm_label": "camel_to_snake()" }, { @@ -11590,7 +11610,7 @@ "source_location": "L20", "_origin": "ast", "id": "app_crud_base_get_model_attr", - "community": 34, + "community": 130, "norm_label": "get_model_attr()" }, { @@ -11600,7 +11620,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_crud_base_crudbase", - "community": 34, + "community": 130, "norm_label": "crudbase" }, { @@ -11610,7 +11630,7 @@ "source_location": "L36", "_origin": "ast", "id": "app_crud_base_crudbase_init", - "community": 34, + "community": 130, "norm_label": ".__init__()" }, { @@ -11620,7 +11640,7 @@ "source_location": "", "_origin": "ast", "id": "modeltype", - "community": 34, + "community": 130, "norm_label": "modeltype" }, { @@ -11630,7 +11650,7 @@ "source_location": "L39", "_origin": "ast", "id": "app_crud_base_crudbase_get", - "community": 34, + "community": 130, "norm_label": ".get()" }, { @@ -11640,7 +11660,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_base_py_session", - "community": 34, + "community": 130, "norm_label": "session" }, { @@ -11650,7 +11670,7 @@ "source_location": "L43", "_origin": "ast", "id": "app_crud_base_crudbase_get_multi", - "community": 34, + "community": 130, "norm_label": ".get_multi()" }, { @@ -11660,7 +11680,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_base_py_any", - "community": 34, + "community": 130, "norm_label": "any" }, { @@ -11670,7 +11690,7 @@ "source_location": "L67", "_origin": "ast", "id": "app_crud_base_crudbase_get_all", - "community": 34, + "community": 130, "norm_label": ".get_all()" }, { @@ -11680,7 +11700,7 @@ "source_location": "L74", "_origin": "ast", "id": "app_crud_base_crudbase_create", - "community": 34, + "community": 130, "norm_label": ".create()" }, { @@ -11690,7 +11710,7 @@ "source_location": "L95", "_origin": "ast", "id": "app_crud_base_crudbase_update", - "community": 34, + "community": 130, "norm_label": ".update()" }, { @@ -11700,7 +11720,7 @@ "source_location": "L114", "_origin": "ast", "id": "app_crud_base_crudbase_delete", - "community": 34, + "community": 130, "norm_label": ".delete()" }, { @@ -11710,7 +11730,7 @@ "source_location": "L126", "_origin": "ast", "id": "app_crud_base_crudbase_hard_delete", - "community": 34, + "community": 130, "norm_label": ".hard_delete()" }, { @@ -11720,7 +11740,7 @@ "source_location": "L135", "_origin": "ast", "id": "app_crud_base_crudbase_count", - "community": 34, + "community": 130, "norm_label": ".count()" }, { @@ -11730,7 +11750,7 @@ "source_location": "L142", "_origin": "ast", "id": "app_crud_base_crudbase_exists", - "community": 34, + "community": 130, "norm_label": ".exists()" }, { @@ -11740,7 +11760,7 @@ "source_location": "L150", "_origin": "ast", "id": "app_crud_base_historycrud", - "community": 34, + "community": 130, "norm_label": "historycrud" }, { @@ -11750,7 +11770,7 @@ "source_location": "L153", "_origin": "ast", "id": "app_crud_base_historycrud_create_history", - "community": 34, + "community": 130, "norm_label": ".create_history()" }, { @@ -11760,7 +11780,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_biz_no_generator", - "community": 74, + "community": 187, "norm_label": "biz_no_generator.py" }, { @@ -11770,7 +11790,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_crud_biz_no_generator_prefix_for", - "community": 74, + "community": 187, "norm_label": "_prefix_for()" }, { @@ -11780,7 +11800,7 @@ "source_location": "", "_origin": "ast", "id": "biznokind", - "community": 74, + "community": 187, "norm_label": "biznokind" }, { @@ -11790,7 +11810,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_crud_biz_no_generator_format_biz_no", - "community": 74, + "community": 187, "norm_label": "_format_biz_no()" }, { @@ -11800,7 +11820,7 @@ "source_location": "L27", "_origin": "ast", "id": "app_crud_biz_no_generator_allocate_next_biz_no", - "community": 74, + "community": 187, "norm_label": "allocate_next_biz_no()" }, { @@ -11810,7 +11830,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_biz_no_generator_py_session", - "community": 74, + "community": 187, "norm_label": "session" }, { @@ -11820,7 +11840,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_biz_no_generator_py_datetime", - "community": 74, + "community": 187, "norm_label": "datetime" }, { @@ -11830,7 +11850,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_biz_no_generator_rationale_1", - "community": 74, + "community": 187, "norm_label": "\u4e1a\u52a1\u534f\u8bae\u53f7\u81ea\u52a8\u751f\u6210:xbcc / jzcc + yyyymmdd + 6 \u4f4d\u5e8f\u53f7" }, { @@ -11840,7 +11860,7 @@ "source_location": "L35", "_origin": "ast", "id": "app_crud_biz_no_generator_rationale_35", - "community": 74, + "community": 187, "norm_label": "\u539f\u5b50\u5206\u914d\u4e0b\u4e00\u4e2a\u4e1a\u52a1\u534f\u8bae\u53f7\u3002 \u987b\u5728 create \u4e8b\u52a1\u5185\u8c03\u7528;\u4f7f\u7528 mysql last_insert_id \u4fdd\u8bc1\u5e76\u53d1\u5b89\u5168\u3002" }, { @@ -12140,7 +12160,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_clue_follow", - "community": 129, + "community": 141, "norm_label": "clue_follow.py" }, { @@ -12150,7 +12170,7 @@ "source_location": "L18", "_origin": "ast", "id": "app_crud_crm_clue_follow_total_pages", - "community": 129, + "community": 141, "norm_label": "total_pages()" }, { @@ -12160,7 +12180,7 @@ "source_location": "L27", "_origin": "ast", "id": "app_crud_crm_clue_follow_row_to_dict", - "community": 129, + "community": 141, "norm_label": "_row_to_dict()" }, { @@ -12170,7 +12190,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_clue_follow_py_any", - "community": 129, + "community": 141, "norm_label": "any" }, { @@ -12180,7 +12200,7 @@ "source_location": "L46", "_origin": "ast", "id": "app_crud_crm_clue_follow_create_clue_follow", - "community": 129, + "community": 141, "norm_label": "create_clue_follow()" }, { @@ -12190,7 +12210,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_clue_follow_py_session", - "community": 129, + "community": 141, "norm_label": "session" }, { @@ -12200,7 +12220,7 @@ "source_location": "L100", "_origin": "ast", "id": "app_crud_crm_clue_follow_update_clue_follow", - "community": 129, + "community": 141, "norm_label": "update_clue_follow()" }, { @@ -12210,7 +12230,7 @@ "source_location": "L146", "_origin": "ast", "id": "app_crud_crm_clue_follow_list_clue_follows", - "community": 129, + "community": 141, "norm_label": "list_clue_follows()" }, { @@ -12220,7 +12240,7 @@ "source_location": "L179", "_origin": "ast", "id": "app_crud_crm_clue_follow_get_clue_follow", - "community": 129, + "community": 141, "norm_label": "get_clue_follow()" }, { @@ -12230,7 +12250,7 @@ "source_location": "L200", "_origin": "ast", "id": "app_crud_crm_clue_follow_delete_clue_follow", - "community": 129, + "community": 141, "norm_label": "delete_clue_follow()" }, { @@ -12240,7 +12260,7 @@ "source_location": "L247", "_origin": "ast", "id": "app_crud_crm_clue_follow_get_follow_statistics", - "community": 129, + "community": 141, "norm_label": "get_follow_statistics()" }, { @@ -12250,7 +12270,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_crud_crm_clue_follow_rationale_54", - "community": 129, + "community": 141, "norm_label": "\u521b\u5efa\u7ebf\u7d22\u8ddf\u8fdb\u8bb0\u5f55,\u5e76\u7ea7\u8054\u66f4\u65b0\u7236\u7ebf\u7d22\u7684\u8ddf\u8fdb\u76f8\u5173\u5b57\u6bb5" }, { @@ -12260,7 +12280,7 @@ "source_location": "L108", "_origin": "ast", "id": "app_crud_crm_clue_follow_rationale_108", - "community": 129, + "community": 141, "norm_label": "\u66f4\u65b0\u7ebf\u7d22\u8ddf\u8fdb\u8bb0\u5f55,\u5fc5\u8981\u65f6\u540c\u6b65\u7ebf\u7d22 next_time" }, { @@ -12270,7 +12290,7 @@ "source_location": "L206", "_origin": "ast", "id": "app_crud_crm_clue_follow_rationale_206", - "community": 129, + "community": 141, "norm_label": "\u8f6f\u5220\u9664\u8ddf\u8fdb\u8bb0\u5f55,\u5e76\u56de\u5199\u7ebf\u7d22 follow_count / last_time" }, { @@ -12380,7 +12400,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_contact", - "community": 107, + "community": 131, "norm_label": "contact.py" }, { @@ -12390,7 +12410,7 @@ "source_location": "L21", "_origin": "ast", "id": "app_crud_crm_contact_total_pages", - "community": 107, + "community": 131, "norm_label": "total_pages()" }, { @@ -12400,7 +12420,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_crud_crm_contact_parse_optional_date", - "community": 107, + "community": 131, "norm_label": "_parse_optional_date()" }, { @@ -12410,7 +12430,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contact_py_any", - "community": 107, + "community": 131, "norm_label": "any" }, { @@ -12420,7 +12440,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contact_py_date", - "community": 107, + "community": 131, "norm_label": "date" }, { @@ -12430,7 +12450,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_crud_crm_contact_row_to_dict", - "community": 107, + "community": 131, "norm_label": "_row_to_dict()" }, { @@ -12450,7 +12470,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contact_py_session", - "community": 107, + "community": 131, "norm_label": "session" }, { @@ -12460,7 +12480,7 @@ "source_location": "L154", "_origin": "ast", "id": "app_crud_crm_contact_list_contacts_by_customer", - "community": 107, + "community": 131, "norm_label": "list_contacts_by_customer()" }, { @@ -12470,7 +12490,7 @@ "source_location": "L183", "_origin": "ast", "id": "app_crud_crm_contact_get_contact", - "community": 107, + "community": 131, "norm_label": "get_contact()" }, { @@ -12480,7 +12500,7 @@ "source_location": "L194", "_origin": "ast", "id": "app_crud_crm_contact_create_contact", - "community": 107, + "community": 131, "norm_label": "create_contact()" }, { @@ -12490,7 +12510,7 @@ "source_location": "L255", "_origin": "ast", "id": "app_crud_crm_contact_update_contact", - "community": 107, + "community": 131, "norm_label": "update_contact()" }, { @@ -12500,7 +12520,7 @@ "source_location": "L296", "_origin": "ast", "id": "app_crud_crm_contact_set_primary_contact", - "community": 107, + "community": 131, "norm_label": "set_primary_contact()" }, { @@ -12510,7 +12530,7 @@ "source_location": "L325", "_origin": "ast", "id": "app_crud_crm_contact_soft_delete_contact", - "community": 107, + "community": 131, "norm_label": "soft_delete_contact()" }, { @@ -12560,7 +12580,7 @@ "source_location": "L69", "_origin": "ast", "id": "app_crud_crm_contract_total_pages", - "community": 91, + "community": 58, "norm_label": "total_pages()" }, { @@ -12570,7 +12590,7 @@ "source_location": "L75", "_origin": "ast", "id": "app_crud_crm_contract_decimal_value", - "community": 46, + "community": 91, "norm_label": "_decimal_value()" }, { @@ -12590,7 +12610,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contract_py_decimal", - "community": 46, + "community": 91, "norm_label": "decimal" }, { @@ -12600,7 +12620,7 @@ "source_location": "L83", "_origin": "ast", "id": "app_crud_crm_contract_parse_optional_date", - "community": 46, + "community": 91, "norm_label": "_parse_optional_date()" }, { @@ -12610,7 +12630,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contract_py_date", - "community": 139, + "community": 46, "norm_label": "date" }, { @@ -12620,7 +12640,7 @@ "source_location": "L101", "_origin": "ast", "id": "app_crud_crm_contract_parse_optional_datetime", - "community": 46, + "community": 91, "norm_label": "_parse_optional_datetime()" }, { @@ -12630,7 +12650,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contract_py_datetime", - "community": 46, + "community": 91, "norm_label": "datetime" }, { @@ -12640,7 +12660,7 @@ "source_location": "L117", "_origin": "ast", "id": "app_crud_crm_contract_get_field", - "community": 46, + "community": 91, "norm_label": "_get_field()" }, { @@ -12660,7 +12680,7 @@ "source_location": "L134", "_origin": "ast", "id": "app_crud_crm_contract_is_blank", - "community": 46, + "community": 91, "norm_label": "_is_blank()" }, { @@ -12670,7 +12690,7 @@ "source_location": "L138", "_origin": "ast", "id": "app_crud_crm_contract_first_non_blank", - "community": 46, + "community": 91, "norm_label": "_first_non_blank()" }, { @@ -12680,7 +12700,7 @@ "source_location": "L146", "_origin": "ast", "id": "app_crud_crm_contract_get_default_invoice_info", - "community": 46, + "community": 91, "norm_label": "_get_default_invoice_info()" }, { @@ -12690,7 +12710,7 @@ "source_location": "L156", "_origin": "ast", "id": "app_crud_crm_contract_build_customer_address", - "community": 46, + "community": 91, "norm_label": "_build_customer_address()" }, { @@ -12720,7 +12740,7 @@ "source_location": "L249", "_origin": "ast", "id": "app_crud_crm_contract_build_contract_filters", - "community": 46, + "community": 91, "norm_label": "_build_contract_filters()" }, { @@ -12730,7 +12750,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_contract_py_query", - "community": 46, + "community": 91, "norm_label": "query" }, { @@ -12750,7 +12770,7 @@ "source_location": "L424", "_origin": "ast", "id": "app_crud_crm_contract_get_contract", - "community": 46, + "community": 91, "norm_label": "get_contract()" }, { @@ -12780,154 +12800,184 @@ "source_location": "L566", "_origin": "ast", "id": "app_crud_crm_contract_get_supplier_short_name", - "community": 46, + "community": 91, "norm_label": "_get_supplier_short_name()" }, + { + "label": "_build_contract_name_from_parties()", + "file_type": "code", + "source_file": "app/crud/crm/contract.py", + "source_location": "L579", + "_origin": "ast", + "id": "app_crud_crm_contract_build_contract_name_from_parties", + "community": 91, + "norm_label": "_build_contract_name_from_parties()" + }, { "label": "generate_contract_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L579", + "source_location": "L623", "_origin": "ast", "id": "app_crud_crm_contract_generate_contract_no", - "community": 139, + "community": 91, "norm_label": "generate_contract_no()" }, { "label": "contract_no_exists()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L628", + "source_location": "L670", "_origin": "ast", "id": "app_crud_crm_contract_contract_no_exists", - "community": 46, + "community": 91, "norm_label": "contract_no_exists()" }, { "label": "replace_contract_no_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L648", + "source_location": "L690", "_origin": "ast", "id": "app_crud_crm_contract_replace_contract_no_date", - "community": 139, + "community": 46, "norm_label": "replace_contract_no_date()" }, { "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L660", + "source_location": "L702", "_origin": "ast", "id": "app_crud_crm_contract_align_contract_no_to_sign_date", - "community": 139, + "community": 46, "norm_label": "align_contract_no_to_sign_date()" }, + { + "label": "resolve_party_short_name()", + "file_type": "code", + "source_file": "app/crud/crm/contract.py", + "source_location": "L735", + "_origin": "ast", + "id": "app_crud_crm_contract_resolve_party_short_name", + "community": 129, + "norm_label": "resolve_party_short_name()" + }, { "label": "generate_contract_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L693", + "source_location": "L769", "_origin": "ast", "id": "app_crud_crm_contract_generate_contract_name", - "community": 46, + "community": 129, "norm_label": "generate_contract_name()" }, + { + "label": "is_framework_contract_type()", + "file_type": "code", + "source_file": "app/crud/crm/contract.py", + "source_location": "L815", + "_origin": "ast", + "id": "app_crud_crm_contract_is_framework_contract_type", + "community": 91, + "norm_label": "is_framework_contract_type()" + }, { "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L714", + "source_location": "L819", "_origin": "ast", "id": "app_crud_crm_contract_validate_contract_type_and_products", - "community": 46, + "community": 91, "norm_label": "_validate_contract_type_and_products()" }, { "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L722", + "source_location": "L827", "_origin": "ast", "id": "app_crud_crm_contract_normalize_framework_contract_data", - "community": 46, + "community": 91, "norm_label": "_normalize_framework_contract_data()" }, { "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L735", + "source_location": "L840", "_origin": "ast", "id": "app_crud_crm_contract_validate_product_prices_by_contract_type", - "community": 46, + "community": 91, "norm_label": "_validate_product_prices_by_contract_type()" }, { "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L749", + "source_location": "L854", "_origin": "ast", "id": "app_crud_crm_contract_validate_sale_purchase_contract_amount", - "community": 46, + "community": 91, "norm_label": "_validate_sale_purchase_contract_amount()" }, { "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L758", + "source_location": "L863", "_origin": "ast", "id": "app_crud_crm_contract_resolve_contract_product_ids", - "community": 46, + "community": 91, "norm_label": "_resolve_contract_product_ids()" }, { "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L776", + "source_location": "L881", "_origin": "ast", "id": "app_crud_crm_contract_calc_amount_with_tax", - "community": 46, + "community": 91, "norm_label": "_calc_amount_with_tax()" }, { "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L782", + "source_location": "L887", "_origin": "ast", "id": "app_crud_crm_contract_apply_contract_entity_fields", - "community": 46, + "community": 91, "norm_label": "_apply_contract_entity_fields()" }, { "label": "create_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L958", + "source_location": "L1063", "_origin": "ast", "id": "app_crud_crm_contract_create_contract", - "community": 46, + "community": 91, "norm_label": "create_contract()" }, { "label": "update_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1057", + "source_location": "L1166", "_origin": "ast", "id": "app_crud_crm_contract_update_contract", - "community": 46, + "community": 91, "norm_label": "update_contract()" }, { "label": "soft_delete_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1162", + "source_location": "L1272", "_origin": "ast", "id": "app_crud_crm_contract_soft_delete_contracts", "community": 91, @@ -12937,7 +12987,7 @@ "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1186", + "source_location": "L1296", "_origin": "ast", "id": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "community": 91, @@ -12947,7 +12997,7 @@ "label": "submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1205", + "source_location": "L1315", "_origin": "ast", "id": "app_crud_crm_contract_submit_contract_approval", "community": 91, @@ -12957,7 +13007,7 @@ "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1248", + "source_location": "L1358", "_origin": "ast", "id": "app_crud_crm_contract_batch_submit_contract_approval", "community": 91, @@ -12967,7 +13017,7 @@ "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1278", + "source_location": "L1388", "_origin": "ast", "id": "app_crud_crm_contract_withdraw_contract_approval", "community": 91, @@ -12977,7 +13027,7 @@ "label": "start_execute()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1305", + "source_location": "L1415", "_origin": "ast", "id": "app_crud_crm_contract_start_execute", "community": 91, @@ -12987,7 +13037,7 @@ "label": "finish_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1328", + "source_location": "L1438", "_origin": "ast", "id": "app_crud_crm_contract_finish_contract", "community": 91, @@ -12997,7 +13047,7 @@ "label": "invalid_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1351", + "source_location": "L1461", "_origin": "ast", "id": "app_crud_crm_contract_invalid_contract", "community": 91, @@ -13007,7 +13057,7 @@ "label": "save_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1379", + "source_location": "L1489", "_origin": "ast", "id": "app_crud_crm_contract_save_template", "community": 91, @@ -13017,7 +13067,7 @@ "label": "get_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1409", + "source_location": "L1519", "_origin": "ast", "id": "app_crud_crm_contract_get_template", "community": 91, @@ -13027,7 +13077,7 @@ "label": "upload_file()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1422", + "source_location": "L1532", "_origin": "ast", "id": "app_crud_crm_contract_upload_file", "community": 91, @@ -13037,7 +13087,7 @@ "label": "upload_attachments()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1439", + "source_location": "L1549", "_origin": "ast", "id": "app_crud_crm_contract_upload_attachments", "community": 91, @@ -13047,7 +13097,7 @@ "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1464", + "source_location": "L1574", "_origin": "ast", "id": "app_crud_crm_contract_upload_attachments_with_category", "community": 91, @@ -13057,7 +13107,7 @@ "label": "statistics_overview()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1511", + "source_location": "L1621", "_origin": "ast", "id": "app_crud_crm_contract_statistics_overview", "community": 91, @@ -13067,7 +13117,7 @@ "label": "statistics_by_status()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1574", + "source_location": "L1684", "_origin": "ast", "id": "app_crud_crm_contract_statistics_by_status", "community": 91, @@ -13077,7 +13127,7 @@ "label": "statistics_by_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1608", + "source_location": "L1718", "_origin": "ast", "id": "app_crud_crm_contract_statistics_by_type", "community": 91, @@ -13087,27 +13137,27 @@ "label": "_contract_period_key()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1643", + "source_location": "L1755", "_origin": "ast", "id": "app_crud_crm_contract_contract_period_key", - "community": 46, + "community": 91, "norm_label": "_contract_period_key()" }, { "label": "statistics_trend()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1652", + "source_location": "L1764", "_origin": "ast", "id": "app_crud_crm_contract_statistics_trend", - "community": 46, + "community": 91, "norm_label": "statistics_trend()" }, { "label": "query_expiring()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1698", + "source_location": "L1810", "_origin": "ast", "id": "app_crud_crm_contract_query_expiring", "community": 91, @@ -13117,7 +13167,7 @@ "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1725", + "source_location": "L1837", "_origin": "ast", "id": "app_crud_crm_contract_quote_products_to_contract_products", "community": 91, @@ -13127,7 +13177,7 @@ "label": "create_from_quote()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1756", + "source_location": "L1868", "_origin": "ast", "id": "app_crud_crm_contract_create_from_quote", "community": 91, @@ -13137,7 +13187,7 @@ "label": "renew_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1815", + "source_location": "L1927", "_origin": "ast", "id": "app_crud_crm_contract_renew_contract", "community": 91, @@ -13147,7 +13197,7 @@ "label": "export_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1869", + "source_location": "L1981", "_origin": "ast", "id": "app_crud_crm_contract_export_contracts", "community": 91, @@ -13157,7 +13207,7 @@ "label": "_change_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1886", + "source_location": "L1998", "_origin": "ast", "id": "app_crud_crm_contract_change_row_to_dict", "community": 58, @@ -13167,7 +13217,7 @@ "label": "list_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1908", + "source_location": "L2020", "_origin": "ast", "id": "app_crud_crm_contract_list_contract_changes", "community": 58, @@ -13177,7 +13227,7 @@ "label": "get_contract_change_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1937", + "source_location": "L2049", "_origin": "ast", "id": "app_crud_crm_contract_get_contract_change_detail", "community": 58, @@ -13187,7 +13237,7 @@ "label": "_template_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1961", + "source_location": "L2073", "_origin": "ast", "id": "app_crud_crm_contract_template_row_to_dict", "community": 58, @@ -13197,7 +13247,7 @@ "label": "list_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L1986", + "source_location": "L2098", "_origin": "ast", "id": "app_crud_crm_contract_list_contract_templates", "community": 58, @@ -13207,7 +13257,7 @@ "label": "get_contract_template_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2019", + "source_location": "L2131", "_origin": "ast", "id": "app_crud_crm_contract_get_contract_template_detail", "community": 58, @@ -13217,7 +13267,7 @@ "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2039", + "source_location": "L2151", "_origin": "ast", "id": "app_crud_crm_contract_opportunity_products_to_contract_products", "community": 91, @@ -13227,7 +13277,7 @@ "label": "create_from_opportunity()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2064", + "source_location": "L2176", "_origin": "ast", "id": "app_crud_crm_contract_create_from_opportunity", "community": 91, @@ -13237,7 +13287,7 @@ "label": "sign_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2117", + "source_location": "L2229", "_origin": "ast", "id": "app_crud_crm_contract_sign_contract", "community": 91, @@ -13247,7 +13297,7 @@ "label": "batch_assign_owner()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2148", + "source_location": "L2260", "_origin": "ast", "id": "app_crud_crm_contract_batch_assign_owner", "community": 91, @@ -13257,7 +13307,7 @@ "label": "download_contract_pdf()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2182", + "source_location": "L2294", "_origin": "ast", "id": "app_crud_crm_contract_download_contract_pdf", "community": 91, @@ -13267,7 +13317,7 @@ "label": "generate_template_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2199", + "source_location": "L2311", "_origin": "ast", "id": "app_crud_crm_contract_generate_template_no", "community": 91, @@ -13277,7 +13327,7 @@ "label": "_get_change_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2231", + "source_location": "L2343", "_origin": "ast", "id": "app_crud_crm_contract_get_change_row", "community": 58, @@ -13287,7 +13337,7 @@ "label": "_enrich_change_rows()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2243", + "source_location": "L2355", "_origin": "ast", "id": "app_crud_crm_contract_enrich_change_rows", "community": 58, @@ -13297,7 +13347,7 @@ "label": "create_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2258", + "source_location": "L2370", "_origin": "ast", "id": "app_crud_crm_contract_create_contract_change", "community": 58, @@ -13307,7 +13357,7 @@ "label": "update_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2309", + "source_location": "L2421", "_origin": "ast", "id": "app_crud_crm_contract_update_contract_change", "community": 58, @@ -13317,7 +13367,7 @@ "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2347", + "source_location": "L2459", "_origin": "ast", "id": "app_crud_crm_contract_soft_delete_contract_changes", "community": 58, @@ -13327,7 +13377,7 @@ "label": "submit_change_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2373", + "source_location": "L2485", "_origin": "ast", "id": "app_crud_crm_contract_submit_change_approval", "community": 58, @@ -13337,7 +13387,7 @@ "label": "withdraw_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2396", + "source_location": "L2508", "_origin": "ast", "id": "app_crud_crm_contract_withdraw_change", "community": 58, @@ -13347,7 +13397,7 @@ "label": "execute_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2409", + "source_location": "L2521", "_origin": "ast", "id": "app_crud_crm_contract_execute_change", "community": 58, @@ -13357,7 +13407,7 @@ "label": "export_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2421", + "source_location": "L2533", "_origin": "ast", "id": "app_crud_crm_contract_export_contract_changes", "community": 58, @@ -13367,7 +13417,7 @@ "label": "create_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2437", + "source_location": "L2549", "_origin": "ast", "id": "app_crud_crm_contract_create_contract_template", "community": 58, @@ -13377,7 +13427,7 @@ "label": "update_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2487", + "source_location": "L2599", "_origin": "ast", "id": "app_crud_crm_contract_update_contract_template", "community": 58, @@ -13387,7 +13437,7 @@ "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2544", + "source_location": "L2656", "_origin": "ast", "id": "app_crud_crm_contract_soft_delete_contract_templates", "community": 58, @@ -13397,7 +13447,7 @@ "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2578", + "source_location": "L2690", "_origin": "ast", "id": "app_crud_crm_contract_toggle_contract_template_active", "community": 58, @@ -13407,7 +13457,7 @@ "label": "export_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", - "source_location": "L2604", + "source_location": "L2716", "_origin": "ast", "id": "app_crud_crm_contract_export_contract_templates", "community": 58, @@ -13440,66 +13490,86 @@ "source_location": "L256", "_origin": "ast", "id": "app_crud_crm_contract_rationale_256", - "community": 46, + "community": 91, "norm_label": "java: buildquerywrapper" }, { - "label": "Java: generateContractNo \u2014 {\u4f9b\u65b9\u7f16\u7801}/X-JT{yyyyMMdd}{3\u4f4d\u5e8f\u53f7}", + "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": "app/crud/crm/contract.py", - "source_location": "L586", + "source_location": "L592", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_586", - "community": 139, - "norm_label": "java: generatecontractno \u2014 {\u4f9b\u65b9\u7f16\u7801}/x-jt{yyyymmdd}{3\u4f4d\u5e8f\u53f7}" + "id": "app_crud_crm_contract_rationale_592", + "community": 91, + "norm_label": "\u6839\u636e\u4f9b\u9700\u65b9\u9762\u677f\u4e0e\u4e3b\u6570\u636e\u751f\u6210/\u6821\u6b63\u5408\u540c\u540d\u79f0\u3002" + }, + { + "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": "app/crud/crm/contract.py", + "source_location": "L630", + "_origin": "ast", + "id": "app_crud_crm_contract_rationale_630", + "community": 91, + "norm_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:uk_contr" }, { "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": "app/crud/crm/contract.py", - "source_location": "L635", + "source_location": "L677", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_635", - "community": 46, + "id": "app_crud_crm_contract_rationale_677", + "community": 91, "norm_label": "\u79df\u6237\u5185\u5408\u540c\u7f16\u53f7\u662f\u5426\u5df2\u5360\u7528(\u542b\u8f6f\u5220,\u4fdd\u8bc1\u5168\u5c40\u552f\u4e00)\u3002" }, { "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": "app/crud/crm/contract.py", - "source_location": "L649", + "source_location": "L691", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_649", - "community": 139, + "id": "app_crud_crm_contract_rationale_691", + "community": 46, "norm_label": "\u6807\u51c6\u7f16\u53f7\u66ff\u6362\u65e5\u671f\u6bb5,\u4fdd\u7559\u5e8f\u53f7;\u975e\u6807\u51c6\u8fd4\u56de none\u3002" }, { "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": "app/crud/crm/contract.py", - "source_location": "L668", + "source_location": "L710", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_668", - "community": 139, + "id": "app_crud_crm_contract_rationale_710", + "community": 46, "norm_label": "\u5c06\u6807\u51c6\u5408\u540c\u7f16\u53f7\u65e5\u671f\u6bb5\u5bf9\u9f50\u7b7e\u8ba2\u65e5;\u649e\u53f7\u5219\u5e8f\u53f7\u987a\u5ef6(\u542b\u8f6f\u5220\u67e5\u91cd)\u3002 \u975e\u6807\u51c6\u7f16\u53f7\u539f\u6837\u8fd4\u56de\u3002\u65e0\u7b7e\u8ba2\u65e5\u5219\u539f\u6837\u8fd4\u56de\u3002" }, { - "label": "Java: generateContractName", + "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": "app/crud/crm/contract.py", - "source_location": "L700", + "source_location": "L744", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_700", - "community": 46, - "norm_label": "java: generatecontractname" + "id": "app_crud_crm_contract_rationale_744", + "community": 129, + "norm_label": "\u6309\u9762\u677f\u5355\u4f4d\u5168\u79f0\u7cbe\u786e\u5339\u914d\u4ea4\u6613\u4e3b\u4f53/\u5ba2\u6237\u4e3b\u6570\u636e,\u53d6 shortname;\u5bf9\u4e0d\u4e0a\u5219\u7528\u5168\u79f0\u3002" + }, + { + "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", + "file_type": "rationale", + "source_file": "app/crud/crm/contract.py", + "source_location": "L782", + "_origin": "ast", + "id": "app_crud_crm_contract_rationale_782", + "community": 129, + "norm_label": "\u6309\u9762\u677f\u4f9b\u65b9(partya)-\u9700\u65b9(partyb)\u751f\u6210:{\u4f9b\u65b9\u7b80\u79f0}-{\u9700\u65b9\u7b80\u79f0}({\u5408\u540c\u7f16\u53f7})\u3002" }, { "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1170", + "source_location": "L1280", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1170", + "id": "app_crud_crm_contract_rationale_1280", "community": 91, "norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664" }, @@ -13507,9 +13577,9 @@ "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": "app/crud/crm/contract.py", - "source_location": "L1193", + "source_location": "L1303", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1193", + "id": "app_crud_crm_contract_rationale_1303", "community": 91, "norm_label": "\u6846\u67b6\u5408\u540c\u63d0\u4ea4\u5ba1\u6279\u6821\u9a8c:\u4ec5\u8981\u6c42\u6709\u4ea7\u54c1\u660e\u7ec6;\u8c03\u4ef7\u533a\u95f4\u4e3a\u53ef\u9009,\u4e0d\u5f3a\u5236\u3002" }, @@ -13517,9 +13587,9 @@ "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1259", + "source_location": "L1369", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1259", + "id": "app_crud_crm_contract_rationale_1369", "community": 91, "norm_label": "java: batchsubmitapproval" }, @@ -13527,9 +13597,9 @@ "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1287", + "source_location": "L1397", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1287", + "id": "app_crud_crm_contract_rationale_1397", "community": 91, "norm_label": "java: withdrawapproval" }, @@ -13537,9 +13607,9 @@ "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1766", + "source_location": "L1878", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1766", + "id": "app_crud_crm_contract_rationale_1878", "community": 91, "norm_label": "java: createfromquote \u2014 \u8fd4\u56de\u5408\u540c id" }, @@ -13547,9 +13617,9 @@ "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1825", + "source_location": "L1937", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1825", + "id": "app_crud_crm_contract_rationale_1937", "community": 91, "norm_label": "java: renewcontract \u2014 \u57fa\u7840\u7eed\u7b7e" }, @@ -13557,9 +13627,9 @@ "label": "Java: queryList for export", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L1876", + "source_location": "L1988", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_1876", + "id": "app_crud_crm_contract_rationale_1988", "community": 91, "norm_label": "java: querylist for export" }, @@ -13567,9 +13637,9 @@ "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L2074", + "source_location": "L2186", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_2074", + "id": "app_crud_crm_contract_rationale_2186", "community": 91, "norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id" }, @@ -13577,9 +13647,9 @@ "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L2158", + "source_location": "L2270", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_2158", + "id": "app_crud_crm_contract_rationale_2270", "community": 91, "norm_label": "java: batchassignowner" }, @@ -13587,9 +13657,9 @@ "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L2189", + "source_location": "L2301", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_2189", + "id": "app_crud_crm_contract_rationale_2301", "community": 91, "norm_label": "java: downloadcontractpdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 url/\u8def\u5f84" }, @@ -13597,9 +13667,9 @@ "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L2200", + "source_location": "L2312", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_2200", + "id": "app_crud_crm_contract_rationale_2312", "community": 91, "norm_label": "java: generatetemplateno \u2014 tmpl{yyyymmdd}{4\u4f4d\u5e8f\u53f7}" }, @@ -13607,9 +13677,9 @@ "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", - "source_location": "L2382", + "source_location": "L2494", "_origin": "ast", - "id": "app_crud_crm_contract_rationale_2382", + "id": "app_crud_crm_contract_rationale_2494", "community": 58, "norm_label": "java controller todo \u2014 \u4fdd\u6301 pending,\u8bb0\u5f55\u5907\u6ce8" }, @@ -13740,7 +13810,7 @@ "source_location": "L179", "_origin": "ast", "id": "app_crud_crm_contract_approval_delete_pending_approvals", - "community": 83, + "community": 91, "norm_label": "delete_pending_approvals()" }, { @@ -13860,7 +13930,7 @@ "source_location": "L180", "_origin": "ast", "id": "app_crud_crm_contract_approval_rationale_180", - "community": 83, + "community": 91, "norm_label": "java: withdraw \u2014 \u8f6f\u5220\u9664 pending \u5ba1\u6279" }, { @@ -14030,7 +14100,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_crud_crm_contract_product_list_contract_products", - "community": 118, + "community": 91, "norm_label": "list_contract_products()" }, { @@ -14137,7 +14207,7 @@ "label": "delete_price_tiers_by_contract_id()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L306", + "source_location": "L310", "_origin": "ast", "id": "app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "community": 118, @@ -14147,7 +14217,7 @@ "label": "delete_products_by_contract_id()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L323", + "source_location": "L327", "_origin": "ast", "id": "app_crud_crm_contract_product_delete_products_by_contract_id", "community": 118, @@ -14157,7 +14227,7 @@ "label": "save_price_tiers_for_product()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L339", + "source_location": "L343", "_origin": "ast", "id": "app_crud_crm_contract_product_save_price_tiers_for_product", "community": 118, @@ -14177,9 +14247,9 @@ "label": "Java: deleteByContractId \u2014 \u8f6f\u5220\u9664\u4ea7\u54c1\u660e\u7ec6\u53ca\u8c03\u4ef7\u533a\u95f4", "file_type": "rationale", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L324", + "source_location": "L328", "_origin": "ast", - "id": "app_crud_crm_contract_product_rationale_324", + "id": "app_crud_crm_contract_product_rationale_328", "community": 118, "norm_label": "java: deletebycontractid \u2014 \u8f6f\u5220\u9664\u4ea7\u54c1\u660e\u7ec6\u53ca\u8c03\u4ef7\u533a\u95f4" }, @@ -14187,9 +14257,9 @@ "label": "Java: savePriceTiersForProduct", "file_type": "rationale", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L349", + "source_location": "L353", "_origin": "ast", - "id": "app_crud_crm_contract_product_rationale_349", + "id": "app_crud_crm_contract_product_rationale_353", "community": 118, "norm_label": "java: savepricetiersforproduct" }, @@ -14314,20 +14384,30 @@ "norm_label": "_row_to_dict()" }, { - "label": "list_customers()", + "label": "list_customer_options()", "file_type": "code", "source_file": "app/crud/crm/customer.py", "source_location": "L161", "_origin": "ast", + "id": "app_crud_crm_customer_list_customer_options", + "community": 6, + "norm_label": "list_customer_options()" + }, + { + "label": "list_customers()", + "file_type": "code", + "source_file": "app/crud/crm/customer.py", + "source_location": "L202", + "_origin": "ast", "id": "app_crud_crm_customer_list_customers", - "community": 150, + "community": 144, "norm_label": "list_customers()" }, { "label": "list_pool_customers()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L276", + "source_location": "L317", "_origin": "ast", "id": "app_crud_crm_customer_list_pool_customers", "community": 6, @@ -14337,7 +14417,7 @@ "label": "get_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L303", + "source_location": "L344", "_origin": "ast", "id": "app_crud_crm_customer_get_customer", "community": 6, @@ -14347,7 +14427,7 @@ "label": "get_customer_by_no()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L314", + "source_location": "L355", "_origin": "ast", "id": "app_crud_crm_customer_get_customer_by_no", "community": 6, @@ -14357,7 +14437,7 @@ "label": "generate_customer_no()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L326", + "source_location": "L367", "_origin": "ast", "id": "app_crud_crm_customer_generate_customer_no", "community": 6, @@ -14367,7 +14447,7 @@ "label": "customer_name_exists()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L352", + "source_location": "L393", "_origin": "ast", "id": "app_crud_crm_customer_customer_name_exists", "community": 12, @@ -14377,7 +14457,7 @@ "label": "check_duplicate_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L365", + "source_location": "L406", "_origin": "ast", "id": "app_crud_crm_customer_check_duplicate_customer", "community": 6, @@ -14387,7 +14467,7 @@ "label": "create_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L386", + "source_location": "L427", "_origin": "ast", "id": "app_crud_crm_customer_create_customer", "community": 6, @@ -14397,7 +14477,7 @@ "label": "update_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L449", + "source_location": "L490", "_origin": "ast", "id": "app_crud_crm_customer_update_customer", "community": 6, @@ -14407,7 +14487,7 @@ "label": "soft_delete_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L496", + "source_location": "L537", "_origin": "ast", "id": "app_crud_crm_customer_soft_delete_customer", "community": 6, @@ -14417,7 +14497,7 @@ "label": "transfer_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L513", + "source_location": "L554", "_origin": "ast", "id": "app_crud_crm_customer_transfer_customer", "community": 6, @@ -14427,7 +14507,7 @@ "label": "deal_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L555", + "source_location": "L596", "_origin": "ast", "id": "app_crud_crm_customer_deal_customer", "community": 6, @@ -14437,7 +14517,7 @@ "label": "into_pool()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L583", + "source_location": "L624", "_origin": "ast", "id": "app_crud_crm_customer_into_pool", "community": 6, @@ -14447,7 +14527,7 @@ "label": "claim_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L626", + "source_location": "L667", "_origin": "ast", "id": "app_crud_crm_customer_claim_customer", "community": 6, @@ -14457,7 +14537,7 @@ "label": "batch_claim_customers()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L664", + "source_location": "L705", "_origin": "ast", "id": "app_crud_crm_customer_batch_claim_customers", "community": 6, @@ -14467,7 +14547,7 @@ "label": "assign_customer()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L677", + "source_location": "L718", "_origin": "ast", "id": "app_crud_crm_customer_assign_customer", "community": 6, @@ -14477,7 +14557,7 @@ "label": "update_follow_stats()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L728", + "source_location": "L769", "_origin": "ast", "id": "app_crud_crm_customer_update_follow_stats", "community": 6, @@ -14487,17 +14567,17 @@ "label": "update_contact_count()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L745", + "source_location": "L786", "_origin": "ast", "id": "app_crud_crm_customer_update_contact_count", - "community": 107, + "community": 131, "norm_label": "update_contact_count()" }, { "label": "get_park_area_list()", "file_type": "code", "source_file": "app/crud/crm/customer.py", - "source_location": "L761", + "source_location": "L802", "_origin": "ast", "id": "app_crud_crm_customer_get_park_area_list", "community": 6, @@ -14513,6 +14593,16 @@ "community": 6, "norm_label": "crm \u5ba2\u6237 crud(\u5ba2\u6237\u4e3b\u8868 + \u8f6c\u79fb/\u6210\u4ea4/\u516c\u6d77\u6c60\u64cd\u4f5c)" }, + { + "label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\uff1a\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22\uff0c\u4e0d\u505a owner \u6570\u636e\u6743\u9650\uff08\u4f9b\u5730\u78c5/\u5408\u540c\u7b49\u4e3b\u6570\u636e\u9009\u7528\uff09\u3002", + "file_type": "rationale", + "source_file": "app/crud/crm/customer.py", + "source_location": "L169", + "_origin": "ast", + "id": "app_crud_crm_customer_rationale_169", + "community": 6, + "norm_label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879:\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22,\u4e0d\u505a owner \u6570\u636e\u6743\u9650(\u4f9b\u5730\u78c5/\u5408\u540c\u7b49\u4e3b\u6570\u636e\u9009\u7528)\u3002" + }, { "label": "customer_follow.py", "file_type": "code", @@ -14520,7 +14610,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_customer_follow", - "community": 106, + "community": 182, "norm_label": "customer_follow.py" }, { @@ -14530,7 +14620,7 @@ "source_location": "L18", "_origin": "ast", "id": "app_crud_crm_customer_follow_total_pages", - "community": 106, + "community": 182, "norm_label": "total_pages()" }, { @@ -14540,7 +14630,7 @@ "source_location": "L27", "_origin": "ast", "id": "app_crud_crm_customer_follow_enrich_follow_dict", - "community": 106, + "community": 182, "norm_label": "_enrich_follow_dict()" }, { @@ -14550,7 +14640,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_customer_follow_py_session", - "community": 106, + "community": 182, "norm_label": "session" }, { @@ -14560,7 +14650,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_customer_follow_py_any", - "community": 106, + "community": 182, "norm_label": "any" }, { @@ -14570,7 +14660,7 @@ "source_location": "L36", "_origin": "ast", "id": "app_crud_crm_customer_follow_row_to_dict", - "community": 106, + "community": 182, "norm_label": "_row_to_dict()" }, { @@ -14580,7 +14670,7 @@ "source_location": "L60", "_origin": "ast", "id": "app_crud_crm_customer_follow_list_follows", - "community": 106, + "community": 182, "norm_label": "list_follows()" }, { @@ -14590,7 +14680,7 @@ "source_location": "L117", "_origin": "ast", "id": "app_crud_crm_customer_follow_list_follows_by_customer", - "community": 106, + "community": 182, "norm_label": "list_follows_by_customer()" }, { @@ -14600,7 +14690,7 @@ "source_location": "L140", "_origin": "ast", "id": "app_crud_crm_customer_follow_get_follow", - "community": 106, + "community": 182, "norm_label": "get_follow()" }, { @@ -14610,7 +14700,7 @@ "source_location": "L151", "_origin": "ast", "id": "app_crud_crm_customer_follow_create_follow", - "community": 6, + "community": 182, "norm_label": "create_follow()" }, { @@ -14620,7 +14710,7 @@ "source_location": "L204", "_origin": "ast", "id": "app_crud_crm_customer_follow_update_follow", - "community": 106, + "community": 182, "norm_label": "update_follow()" }, { @@ -14630,7 +14720,7 @@ "source_location": "L235", "_origin": "ast", "id": "app_crud_crm_customer_follow_soft_delete_follow", - "community": 106, + "community": 182, "norm_label": "soft_delete_follow()" }, { @@ -14720,7 +14810,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers", - "community": 107, + "community": 122, "norm_label": "data_scope_helpers.py" }, { @@ -14760,7 +14850,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_py_session", - "community": 107, + "community": 122, "norm_label": "session" }, { @@ -14770,7 +14860,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_apply_crm_create_by_scope", - "community": 49, + "community": 141, "norm_label": "apply_crm_create_by_scope()" }, { @@ -14780,7 +14870,7 @@ "source_location": "L39", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_ensure_crm_owner_row_in_scope", - "community": 107, + "community": 122, "norm_label": "ensure_crm_owner_row_in_scope()" }, { @@ -14790,7 +14880,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", - "community": 141, + "community": 58, "norm_label": "ensure_crm_create_by_row_in_scope()" }, { @@ -14800,7 +14890,7 @@ "source_location": "L57", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_ensure_crm_contact_row_in_scope", - "community": 107, + "community": 131, "norm_label": "ensure_crm_contact_row_in_scope()" }, { @@ -14820,7 +14910,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_rationale_1", - "community": 107, + "community": 122, "norm_label": "crm \u6570\u636e\u6743\u9650\u8f85\u52a9(\u8d1f\u8d23\u4eba owner_user_id + \u6807\u51c6 create_by/create_dept_id)\u3002" }, { @@ -14830,7 +14920,7 @@ "source_location": "L60", "_origin": "ast", "id": "app_crud_crm_data_scope_helpers_rationale_60", - "community": 107, + "community": 131, "norm_label": "\u8054\u7cfb\u4eba:create_by \u5728\u8303\u56f4\u5185,\u6216\u5173\u8054\u5ba2\u6237\u5728 owner \u8303\u56f4\u5185\u3002" }, { @@ -15380,7 +15470,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_opportunity_follow", - "community": 93, + "community": 4, "norm_label": "opportunity_follow.py" }, { @@ -15390,7 +15480,7 @@ "source_location": "L17", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_total_pages", - "community": 93, + "community": 4, "norm_label": "total_pages()" }, { @@ -15400,7 +15490,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_parse_optional_datetime", - "community": 93, + "community": 4, "norm_label": "_parse_optional_datetime()" }, { @@ -15410,7 +15500,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_py_any", - "community": 93, + "community": 4, "norm_label": "any" }, { @@ -15420,7 +15510,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_py_datetime", - "community": 93, + "community": 4, "norm_label": "datetime" }, { @@ -15430,7 +15520,7 @@ "source_location": "L42", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_row_to_dict", - "community": 93, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -15440,7 +15530,7 @@ "source_location": "L71", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_recalc_opportunity_follow_stats", - "community": 93, + "community": 4, "norm_label": "_recalc_opportunity_follow_stats()" }, { @@ -15450,7 +15540,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_py_session", - "community": 93, + "community": 4, "norm_label": "session" }, { @@ -15460,7 +15550,7 @@ "source_location": "L111", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_ensure_parent_opportunity", - "community": 93, + "community": 4, "norm_label": "_ensure_parent_opportunity()" }, { @@ -15470,7 +15560,7 @@ "source_location": "L129", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_list_opportunity_follows", - "community": 93, + "community": 4, "norm_label": "list_opportunity_follows()" }, { @@ -15480,7 +15570,7 @@ "source_location": "L159", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_list_follows_by_opportunity", - "community": 93, + "community": 4, "norm_label": "list_follows_by_opportunity()" }, { @@ -15490,7 +15580,7 @@ "source_location": "L176", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_get_opportunity_follow", - "community": 93, + "community": 4, "norm_label": "get_opportunity_follow()" }, { @@ -15500,7 +15590,7 @@ "source_location": "L197", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_create_opportunity_follow", - "community": 93, + "community": 4, "norm_label": "create_opportunity_follow()" }, { @@ -15510,7 +15600,7 @@ "source_location": "L243", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_update_opportunity_follow", - "community": 93, + "community": 4, "norm_label": "update_opportunity_follow()" }, { @@ -15520,7 +15610,7 @@ "source_location": "L287", "_origin": "ast", "id": "app_crud_crm_opportunity_follow_soft_delete_opportunity_follow", - "community": 93, + "community": 4, "norm_label": "soft_delete_opportunity_follow()" }, { @@ -15710,7 +15800,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_pool_rule", - "community": 141, + "community": 74, "norm_label": "pool_rule.py" }, { @@ -15720,7 +15810,7 @@ "source_location": "L25", "_origin": "ast", "id": "app_crud_crm_pool_rule_total_pages", - "community": 141, + "community": 74, "norm_label": "total_pages()" }, { @@ -15730,7 +15820,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_crud_crm_pool_rule_row_to_dict", - "community": 141, + "community": 74, "norm_label": "_row_to_dict()" }, { @@ -15740,7 +15830,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_pool_rule_py_any", - "community": 141, + "community": 74, "norm_label": "any" }, { @@ -15750,7 +15840,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_crud_crm_pool_rule_list_pool_rules", - "community": 141, + "community": 74, "norm_label": "list_pool_rules()" }, { @@ -15760,7 +15850,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_pool_rule_py_session", - "community": 141, + "community": 74, "norm_label": "session" }, { @@ -15770,7 +15860,7 @@ "source_location": "L81", "_origin": "ast", "id": "app_crud_crm_pool_rule_get_pool_rule", - "community": 141, + "community": 74, "norm_label": "get_pool_rule()" }, { @@ -15780,7 +15870,7 @@ "source_location": "L93", "_origin": "ast", "id": "app_crud_crm_pool_rule_create_pool_rule", - "community": 141, + "community": 74, "norm_label": "create_pool_rule()" }, { @@ -15790,7 +15880,7 @@ "source_location": "L125", "_origin": "ast", "id": "app_crud_crm_pool_rule_update_pool_rule", - "community": 141, + "community": 74, "norm_label": "update_pool_rule()" }, { @@ -15800,7 +15890,7 @@ "source_location": "L165", "_origin": "ast", "id": "app_crud_crm_pool_rule_delete_pool_rules", - "community": 141, + "community": 74, "norm_label": "delete_pool_rules()" }, { @@ -15810,7 +15900,7 @@ "source_location": "L184", "_origin": "ast", "id": "app_crud_crm_pool_rule_update_pool_rule_status", - "community": 141, + "community": 74, "norm_label": "update_pool_rule_status()" }, { @@ -15820,7 +15910,7 @@ "source_location": "L204", "_origin": "ast", "id": "app_crud_crm_pool_rule_execute_pool_rules", - "community": 141, + "community": 74, "norm_label": "execute_pool_rules()" }, { @@ -15830,7 +15920,7 @@ "source_location": "L231", "_origin": "ast", "id": "app_crud_crm_pool_rule_execute_single_rule", - "community": 141, + "community": 74, "norm_label": "_execute_single_rule()" }, { @@ -15840,7 +15930,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_crm_pool_rule_rationale_1", - "community": 141, + "community": 74, "norm_label": "crm \u516c\u6d77\u6c60\u89c4\u5219 crud + \u89c4\u5219\u6267\u884c\u903b\u8f91" }, { @@ -16220,7 +16310,7 @@ "source_location": "L635", "_origin": "ast", "id": "app_crud_crm_product_get_product", - "community": 21, + "community": 178, "norm_label": "get_product()" }, { @@ -16290,7 +16380,7 @@ "source_location": "L881", "_origin": "ast", "id": "app_crud_crm_product_soft_delete_product", - "community": 21, + "community": 178, "norm_label": "soft_delete_product()" }, { @@ -16327,7 +16417,7 @@ "label": "_oss_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L965", + "source_location": "L973", "_origin": "ast", "id": "app_crud_crm_product_oss_row_to_dict", "community": 21, @@ -16337,7 +16427,7 @@ "label": "list_oss_by_biz()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L983", + "source_location": "L991", "_origin": "ast", "id": "app_crud_crm_product_list_oss_by_biz", "community": 21, @@ -16347,7 +16437,7 @@ "label": "create_oss()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L999", + "source_location": "L1007", "_origin": "ast", "id": "app_crud_crm_product_create_oss", "community": 21, @@ -16357,7 +16447,7 @@ "label": "soft_delete_oss()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L1031", + "source_location": "L1039", "_origin": "ast", "id": "app_crud_crm_product_soft_delete_oss", "community": 21, @@ -16367,7 +16457,7 @@ "label": "_normalize_text()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L1042", + "source_location": "L1050", "_origin": "ast", "id": "app_crud_crm_product_normalize_text", "community": 21, @@ -16377,7 +16467,7 @@ "label": "_get_quote_item_field()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L1049", + "source_location": "L1057", "_origin": "ast", "id": "app_crud_crm_product_get_quote_item_field", "community": 21, @@ -16387,7 +16477,7 @@ "label": "generate_auto_product_no()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L1056", + "source_location": "L1064", "_origin": "ast", "id": "app_crud_crm_product_generate_auto_product_no", "community": 21, @@ -16397,7 +16487,7 @@ "label": "resolve_product_id_for_quote_item()", "file_type": "code", "source_file": "app/crud/crm/product.py", - "source_location": "L1061", + "source_location": "L1069", "_origin": "ast", "id": "app_crud_crm_product_resolve_product_id_for_quote_item", "community": 21, @@ -16507,9 +16597,9 @@ "label": "\u62a5\u4ef7\u81ea\u52a8\u5efa\u6863\u65f6\u751f\u6210\u4ea7\u54c1\u7f16\u53f7\uff08\u4e0e\u4ea7\u54c1\u7ba1\u7406\u65b0\u589e\u89c4\u5219\u4e00\u81f4\uff09", "file_type": "rationale", "source_file": "app/crud/crm/product.py", - "source_location": "L1057", + "source_location": "L1065", "_origin": "ast", - "id": "app_crud_crm_product_rationale_1057", + "id": "app_crud_crm_product_rationale_1065", "community": 21, "norm_label": "\u62a5\u4ef7\u81ea\u52a8\u5efa\u6863\u65f6\u751f\u6210\u4ea7\u54c1\u7f16\u53f7(\u4e0e\u4ea7\u54c1\u7ba1\u7406\u65b0\u589e\u89c4\u5219\u4e00\u81f4)" }, @@ -16517,9 +16607,9 @@ "label": "Java: resolveProductIdForQuoteItem\uff08CrmProduct \u65e0 tax_rate\uff0c\u8df3\u8fc7\u7a0e\u7387\u5339\u914d\uff09", "file_type": "rationale", "source_file": "app/crud/crm/product.py", - "source_location": "L1068", + "source_location": "L1076", "_origin": "ast", - "id": "app_crud_crm_product_rationale_1068", + "id": "app_crud_crm_product_rationale_1076", "community": 21, "norm_label": "java: resolveproductidforquoteitem(crmproduct \u65e0 tax_rate,\u8df3\u8fc7\u7a0e\u7387\u5339\u914d)" }, @@ -16540,7 +16630,7 @@ "source_location": "L41", "_origin": "ast", "id": "app_crud_crm_quote_ensure_quote_in_scope", - "community": 81, + "community": 106, "norm_label": "_ensure_quote_in_scope()" }, { @@ -16550,7 +16640,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_crm_quote_py_session", - "community": 81, + "community": 106, "norm_label": "session" }, { @@ -16560,7 +16650,7 @@ "source_location": "L45", "_origin": "ast", "id": "app_crud_crm_quote_get_quote_in_scope", - "community": 81, + "community": 106, "norm_label": "_get_quote_in_scope()" }, { @@ -16790,7 +16880,7 @@ "source_location": "L473", "_origin": "ast", "id": "app_crud_crm_quote_get_quote", - "community": 81, + "community": 106, "norm_label": "get_quote()" }, { @@ -16800,7 +16890,7 @@ "source_location": "L485", "_origin": "ast", "id": "app_crud_crm_quote_get_quote_detail", - "community": 81, + "community": 106, "norm_label": "get_quote_detail()" }, { @@ -16840,7 +16930,7 @@ "source_location": "L811", "_origin": "ast", "id": "app_crud_crm_quote_soft_delete_quotes", - "community": 81, + "community": 106, "norm_label": "soft_delete_quotes()" }, { @@ -16850,7 +16940,7 @@ "source_location": "L838", "_origin": "ast", "id": "app_crud_crm_quote_submit_quote", - "community": 81, + "community": 106, "norm_label": "submit_quote()" }, { @@ -16860,7 +16950,7 @@ "source_location": "L882", "_origin": "ast", "id": "app_crud_crm_quote_save_template", - "community": 81, + "community": 106, "norm_label": "save_template()" }, { @@ -16870,7 +16960,7 @@ "source_location": "L900", "_origin": "ast", "id": "app_crud_crm_quote_get_template", - "community": 81, + "community": 106, "norm_label": "get_template()" }, { @@ -16880,7 +16970,7 @@ "source_location": "L914", "_origin": "ast", "id": "app_crud_crm_quote_generate_pdf", - "community": 81, + "community": 106, "norm_label": "generate_pdf()" }, { @@ -16890,7 +16980,7 @@ "source_location": "L934", "_origin": "ast", "id": "app_crud_crm_quote_generate_share", - "community": 81, + "community": 106, "norm_label": "generate_share()" }, { @@ -16910,7 +17000,7 @@ "source_location": "L1015", "_origin": "ast", "id": "app_crud_crm_quote_accept_quote", - "community": 81, + "community": 106, "norm_label": "accept_quote()" }, { @@ -16920,7 +17010,7 @@ "source_location": "L1035", "_origin": "ast", "id": "app_crud_crm_quote_reject_quote", - "community": 81, + "community": 106, "norm_label": "reject_quote()" }, { @@ -16930,7 +17020,7 @@ "source_location": "L1057", "_origin": "ast", "id": "app_crud_crm_quote_to_contract", - "community": 8, + "community": 106, "norm_label": "to_contract()" }, { @@ -16960,7 +17050,7 @@ "source_location": "L1225", "_origin": "ast", "id": "app_crud_crm_quote_withdraw_quote_approval", - "community": 81, + "community": 106, "norm_label": "withdraw_quote_approval()" }, { @@ -16970,7 +17060,7 @@ "source_location": "L1252", "_origin": "ast", "id": "app_crud_crm_quote_invalid_quote", - "community": 81, + "community": 106, "norm_label": "invalid_quote()" }, { @@ -16990,7 +17080,7 @@ "source_location": "L1335", "_origin": "ast", "id": "app_crud_crm_quote_statistics_status", - "community": 81, + "community": 8, "norm_label": "statistics_status()" }, { @@ -17090,7 +17180,7 @@ "source_location": "L819", "_origin": "ast", "id": "app_crud_crm_quote_rationale_819", - "community": 81, + "community": 106, "norm_label": "java: deletewithvalidbyids" }, { @@ -17110,7 +17200,7 @@ "source_location": "L1071", "_origin": "ast", "id": "app_crud_crm_quote_rationale_1071", - "community": 8, + "community": 106, "norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid" }, { @@ -17130,7 +17220,7 @@ "source_location": "L1234", "_origin": "ast", "id": "app_crud_crm_quote_rationale_1234", - "community": 81, + "community": 106, "norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)" }, { @@ -17150,7 +17240,7 @@ "source_location": "L1340", "_origin": "ast", "id": "app_crud_crm_quote_rationale_1340", - "community": 81, + "community": 8, "norm_label": "java: statisticsstatus" }, { @@ -17660,7 +17750,7 @@ "source_location": "L367", "_origin": "ast", "id": "app_crud_crm_quote_product_delete_products_by_quote_id", - "community": 116, + "community": 8, "norm_label": "delete_products_by_quote_id()" }, { @@ -17720,7 +17810,7 @@ "source_location": "L368", "_origin": "ast", "id": "app_crud_crm_quote_product_rationale_368", - "community": 116, + "community": 8, "norm_label": "java: deletebyquoteid \u2014 \u8f6f\u5220\u9664\u8be5\u62a5\u4ef7\u5355\u4e0b\u5168\u90e8\u660e\u7ec6" }, { @@ -18050,7 +18140,7 @@ "source_location": "L126", "_origin": "ast", "id": "app_crud_crm_supplier_info_get_supplier_info", - "community": 8, + "community": 49, "norm_label": "get_supplier_info()" }, { @@ -18840,7 +18930,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_monitor_oper_log", - "community": 34, + "community": 60, "norm_label": "oper_log.py" }, { @@ -18850,7 +18940,7 @@ "source_location": "L16", "_origin": "ast", "id": "app_crud_monitor_oper_log_oper_status", - "community": 34, + "community": 60, "norm_label": "_oper_status()" }, { @@ -18860,7 +18950,7 @@ "source_location": "L20", "_origin": "ast", "id": "app_crud_monitor_oper_log_row_to_oper_log", - "community": 34, + "community": 60, "norm_label": "_row_to_oper_log()" }, { @@ -18870,7 +18960,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_monitor_oper_log_py_any", - "community": 34, + "community": 60, "norm_label": "any" }, { @@ -18880,7 +18970,7 @@ "source_location": "L56", "_origin": "ast", "id": "app_crud_monitor_oper_log_apply_oper_log_scope", - "community": 34, + "community": 60, "norm_label": "_apply_oper_log_scope()" }, { @@ -18890,7 +18980,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_monitor_oper_log_py_session", - "community": 34, + "community": 60, "norm_label": "session" }, { @@ -18900,7 +18990,7 @@ "source_location": "L102", "_origin": "ast", "id": "app_crud_monitor_oper_log_oper_log_row_in_scope", - "community": 34, + "community": 60, "norm_label": "_oper_log_row_in_scope()" }, { @@ -18910,7 +19000,7 @@ "source_location": "L112", "_origin": "ast", "id": "app_crud_monitor_oper_log_list_oper_logs", - "community": 34, + "community": 60, "norm_label": "list_oper_logs()" }, { @@ -18920,7 +19010,7 @@ "source_location": "L180", "_origin": "ast", "id": "app_crud_monitor_oper_log_get_oper_log", - "community": 34, + "community": 60, "norm_label": "get_oper_log()" }, { @@ -18930,7 +19020,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_monitor_oper_log_rationale_1", - "community": 34, + "community": 60, "norm_label": "\u64cd\u4f5c\u65e5\u5fd7:\u57fa\u4e8e sys_api_request_log \u9002\u914d ruoyi operlog \u89c6\u56fe" }, { @@ -18940,7 +19030,7 @@ "source_location": "L57", "_origin": "ast", "id": "app_crud_monitor_oper_log_rationale_57", - "community": 34, + "community": 60, "norm_label": "\u64cd\u4f5c\u65e5\u5fd7\u6309 oper_user_id(user_id/create_by)\u5e94\u7528\u6570\u636e\u6743\u9650\u3002" }, { @@ -18950,7 +19040,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_crud_oss", - "community": 162, + "community": 188, "norm_label": "oss.py" }, { @@ -18960,7 +19050,7 @@ "source_location": "L12", "_origin": "ast", "id": "app_crud_oss_create_oss", - "community": 162, + "community": 188, "norm_label": "create_oss()" }, { @@ -18970,7 +19060,7 @@ "source_location": "", "_origin": "ast", "id": "app_crud_oss_py_session", - "community": 162, + "community": 188, "norm_label": "session" }, { @@ -18980,7 +19070,7 @@ "source_location": "L55", "_origin": "ast", "id": "app_crud_oss_get_oss_by_url", - "community": 162, + "community": 188, "norm_label": "get_oss_by_url()" }, { @@ -18990,7 +19080,7 @@ "source_location": "L66", "_origin": "ast", "id": "app_crud_oss_get_oss_by_id", - "community": 162, + "community": 188, "norm_label": "get_oss_by_id()" }, { @@ -19000,7 +19090,7 @@ "source_location": "L77", "_origin": "ast", "id": "app_crud_oss_resolve_storage_path", - "community": 162, + "community": 188, "norm_label": "resolve_storage_path()" }, { @@ -19010,7 +19100,7 @@ "source_location": "L67", "_origin": "ast", "id": "app_crud_oss_rationale_67", - "community": 162, + "community": 188, "norm_label": "\u6309\u4e3b\u952e id \u67e5\u8be2\u9644\u4ef6(\u517c\u5bb9\u65e7 crm \u96ea\u82b1 oss_id \u8fc1\u5165\u540e\u7684\u8bb0\u5f55)" }, { @@ -19020,7 +19110,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_crud_oss_rationale_78", - "community": 162, + "community": 188, "norm_label": "\u5c06 fileurl \u6216\u65e7 crm \u6570\u5b57 ossid \u89e3\u6790\u4e3a minio \u76f8\u5bf9\u8def\u5f84\u3002 \u95e8\u6237\u65b0\u4e0a\u4f20\u628a\u76f8\u5bf9\u8def\u5f84\u5199\u5165\u4e1a\u52a1\u5b57\u6bb5;\u8fc1\u5165\u5408\u540c\u9644\u4ef6\u4ecd\u5b58\u6570\u5b57 ossid" }, { @@ -20300,7 +20390,7 @@ "source_location": "", "_origin": "ast", "id": "fastapi", - "community": 26, + "community": 14, "norm_label": "fastapi" }, { @@ -20450,7 +20540,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_init", - "community": 24, + "community": 164, "norm_label": "__init__.py" }, { @@ -20460,7 +20550,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_base", - "community": 24, + "community": 164, "norm_label": "base.py" }, { @@ -20480,7 +20570,7 @@ "source_location": "", "_origin": "ast", "id": "base", - "community": 24, + "community": 164, "norm_label": "base" }, { @@ -20510,7 +20600,7 @@ "source_location": "L44", "_origin": "ast", "id": "app_models_base_softdeletemodel", - "community": 24, + "community": 164, "norm_label": "softdeletemodel" }, { @@ -20520,7 +20610,7 @@ "source_location": "L51", "_origin": "ast", "id": "app_models_base_softdeletemodel_get_active", - "community": 24, + "community": 164, "norm_label": ".get_active()" }, { @@ -20530,7 +20620,7 @@ "source_location": "L55", "_origin": "ast", "id": "app_models_base_softdeletemodel_soft_delete", - "community": 24, + "community": 164, "norm_label": ".soft_delete()" }, { @@ -20540,7 +20630,7 @@ "source_location": "L60", "_origin": "ast", "id": "app_models_base_softdeletemodel_restore", - "community": 24, + "community": 164, "norm_label": ".restore()" }, { @@ -20710,7 +20800,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_crm_models", - "community": 162, + "community": 170, "norm_label": "crm_models.py" }, { @@ -20740,7 +20830,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_models_crm_models_crmproductbrand", - "community": 21, + "community": 191, "norm_label": "crmproductbrand" }, { @@ -20760,7 +20850,7 @@ "source_location": "L117", "_origin": "ast", "id": "app_models_crm_models_sysoss", - "community": 162, + "community": 188, "norm_label": "sysoss" }, { @@ -20780,7 +20870,7 @@ "source_location": "L232", "_origin": "ast", "id": "app_models_crm_models_crmcontact", - "community": 107, + "community": 131, "norm_label": "crmcontact" }, { @@ -20800,7 +20890,7 @@ "source_location": "L295", "_origin": "ast", "id": "app_models_crm_models_crmcustomerfollow", - "community": 106, + "community": 182, "norm_label": "crmcustomerfollow" }, { @@ -20820,7 +20910,7 @@ "source_location": "L352", "_origin": "ast", "id": "app_models_crm_models_crmcustomerpoolrule", - "community": 141, + "community": 74, "norm_label": "crmcustomerpoolrule" }, { @@ -20840,7 +20930,7 @@ "source_location": "L418", "_origin": "ast", "id": "app_models_crm_models_crmopportunityfollow", - "community": 93, + "community": 4, "norm_label": "crmopportunityfollow" }, { @@ -21000,7 +21090,7 @@ "source_location": "L990", "_origin": "ast", "id": "app_models_crm_models_crmcluefollow", - "community": 129, + "community": 141, "norm_label": "crmcluefollow" }, { @@ -21030,7 +21120,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_crm_models_rationale_1", - "community": 162, + "community": 170, "norm_label": "crm \u6a21\u5757\u6570\u636e\u6a21\u578b(\u4ea7\u54c1\u5206\u7c7b\u3001\u4ea7\u54c1\u4e3b\u8868\u3001\u7edf\u4e00\u9644\u4ef6\u8868\u3001\u5ba2\u6237\u7ba1\u7406\u3001\u516c\u6d77\u6c60\u3001\u7ebf\u7d22\u7ba1\u7406)" }, { @@ -21060,7 +21150,7 @@ "source_location": "L9", "_origin": "ast", "id": "app_models_db_models_dbpurchaseplan", - "community": 27, + "community": 61, "norm_label": "dbpurchaseplan" }, { @@ -21070,7 +21160,7 @@ "source_location": "L44", "_origin": "ast", "id": "app_models_db_models_dbinboundoutbound", - "community": 61, + "community": 125, "norm_label": "dbinboundoutbound" }, { @@ -21110,7 +21200,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_models", - "community": 136, + "community": 164, "norm_label": "models.py" }, { @@ -21120,7 +21210,7 @@ "source_location": "L11", "_origin": "ast", "id": "app_models_models_userrole", - "community": 136, + "community": 164, "norm_label": "userrole" }, { @@ -21130,7 +21220,7 @@ "source_location": "", "_origin": "ast", "id": "str", - "community": 136, + "community": 164, "norm_label": "str" }, { @@ -21160,7 +21250,7 @@ "source_location": "L77", "_origin": "ast", "id": "app_models_models_sysuserrole", - "community": 24, + "community": 164, "norm_label": "sysuserrole" }, { @@ -21240,7 +21330,7 @@ "source_location": "L257", "_origin": "ast", "id": "app_models_models_sysuserpost", - "community": 24, + "community": 164, "norm_label": "sysuserpost" }, { @@ -21260,7 +21350,7 @@ "source_location": "L302", "_origin": "ast", "id": "app_models_models_sysethnic", - "community": 24, + "community": 164, "norm_label": "sysethnic" }, { @@ -21280,7 +21370,7 @@ "source_location": "L354", "_origin": "ast", "id": "app_models_models_sysapirequestlog", - "community": 131, + "community": 164, "norm_label": "sysapirequestlog" }, { @@ -21290,7 +21380,7 @@ "source_location": "L386", "_origin": "ast", "id": "app_models_models_sysapirequestloghis", - "community": 131, + "community": 164, "norm_label": "sysapirequestloghis" }, { @@ -21310,7 +21400,7 @@ "source_location": "L458", "_origin": "ast", "id": "app_models_models_bizattachment", - "community": 24, + "community": 164, "norm_label": "bizattachment" }, { @@ -21330,7 +21420,7 @@ "source_location": "L509", "_origin": "ast", "id": "app_models_models_wfprocessversion", - "community": 13, + "community": 34, "norm_label": "wfprocessversion" }, { @@ -21340,7 +21430,7 @@ "source_location": "L531", "_origin": "ast", "id": "app_models_models_wfnode", - "community": 130, + "community": 34, "norm_label": "wfnode" }, { @@ -21360,7 +21450,7 @@ "source_location": "L576", "_origin": "ast", "id": "app_models_models_wfprocessinstance", - "community": 130, + "community": 36, "norm_label": "wfprocessinstance" }, { @@ -21370,7 +21460,7 @@ "source_location": "L601", "_origin": "ast", "id": "app_models_models_wftask", - "community": 130, + "community": 13, "norm_label": "wftask" }, { @@ -21380,7 +21470,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_models_rationale_1", - "community": 136, + "community": 164, "norm_label": "\u6570\u636e\u6a21\u578b(\u4e0e docs/sql/shanxia2.0.sql \u5168\u5e93\u5bfc\u51fa\u57fa\u7ebf\u5bf9\u9f50\u7684\u6838\u5fc3\u7cfb\u7edf\u8868)" }, { @@ -21390,7 +21480,7 @@ "source_location": "L12", "_origin": "ast", "id": "app_models_models_rationale_12", - "community": 136, + "community": 164, "norm_label": "web \u7ba1\u7406\u7aef\u7ea6\u5b9a\u89d2\u8272(\u7531 sys_role.role_name \u6620\u5c04\u800c\u6765,\u975e\u6570\u636e\u5e93\u679a\u4e3e)" }, { @@ -21400,7 +21490,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_models_models_rationale_78", - "community": 24, + "community": 164, "norm_label": "\u7528\u6237-\u89d2\u8272\u5173\u8054 sys_user_role(v0.3)" }, { @@ -21440,7 +21530,7 @@ "source_location": "L258", "_origin": "ast", "id": "app_models_models_rationale_258", - "community": 24, + "community": 164, "norm_label": "\u7528\u6237-\u804c\u4f4d\u5173\u8054 sys_user_post" }, { @@ -21450,7 +21540,7 @@ "source_location": "L303", "_origin": "ast", "id": "app_models_models_rationale_303", - "community": 24, + "community": 164, "norm_label": "\u6c11\u65cf\u7801\u8868 sys_ethnic(\u56fd\u6807 gb/t 3304,\u5168\u5c40)" }, { @@ -21470,7 +21560,7 @@ "source_location": "L510", "_origin": "ast", "id": "app_models_models_rationale_510", - "community": 13, + "community": 34, "norm_label": "\u6d41\u7a0b\u5b9a\u4e49\u7248\u672c wf_process_version" }, { @@ -21490,7 +21580,7 @@ "source_location": "L577", "_origin": "ast", "id": "app_models_models_rationale_577", - "community": 130, + "community": 36, "norm_label": "\u6d41\u7a0b\u5b9e\u4f8b wf_process_instance" }, { @@ -21500,7 +21590,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_models_pl_models", - "community": 24, + "community": 125, "norm_label": "pl_models.py" }, { @@ -21510,7 +21600,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_models_pl_models_plcarrier", - "community": 154, + "community": 107, "norm_label": "plcarrier" }, { @@ -21530,7 +21620,7 @@ "source_location": "L84", "_origin": "ast", "id": "app_models_pl_models_plpersonnel", - "community": 105, + "community": 154, "norm_label": "plpersonnel" }, { @@ -21560,7 +21650,7 @@ "source_location": "L169", "_origin": "ast", "id": "app_models_pl_models_pldriver", - "community": 24, + "community": 164, "norm_label": "pldriver" }, { @@ -21570,7 +21660,7 @@ "source_location": "L195", "_origin": "ast", "id": "app_models_pl_models_plvehiclepersonnel", - "community": 24, + "community": 68, "norm_label": "plvehiclepersonnel" }, { @@ -21580,7 +21670,7 @@ "source_location": "L216", "_origin": "ast", "id": "app_models_pl_models_plvehicledriver", - "community": 24, + "community": 164, "norm_label": "plvehicledriver" }, { @@ -21590,7 +21680,7 @@ "source_location": "L241", "_origin": "ast", "id": "app_models_pl_models_plplan", - "community": 125, + "community": 51, "norm_label": "plplan" }, { @@ -21610,7 +21700,7 @@ "source_location": "L405", "_origin": "ast", "id": "app_models_pl_models_plplanproductbrandqty", - "community": 125, + "community": 164, "norm_label": "plplanproductbrandqty" }, { @@ -21620,7 +21710,7 @@ "source_location": "L427", "_origin": "ast", "id": "app_models_pl_models_plplanchange", - "community": 24, + "community": 164, "norm_label": "plplanchange" }, { @@ -21650,7 +21740,7 @@ "source_location": "L537", "_origin": "ast", "id": "app_models_pl_models_pltransportproductbrandqty", - "community": 24, + "community": 25, "norm_label": "pltransportproductbrandqty" }, { @@ -21660,7 +21750,7 @@ "source_location": "L560", "_origin": "ast", "id": "app_models_pl_models_pltransportdblink", - "community": 61, + "community": 125, "norm_label": "pltransportdblink" }, { @@ -21670,7 +21760,7 @@ "source_location": "L583", "_origin": "ast", "id": "app_models_pl_models_plplantransport", - "community": 45, + "community": 51, "norm_label": "plplantransport" }, { @@ -21690,7 +21780,7 @@ "source_location": "L635", "_origin": "ast", "id": "app_models_pl_models_plinboundorder", - "community": 24, + "community": 125, "norm_label": "plinboundorder" }, { @@ -21710,7 +21800,7 @@ "source_location": "L691", "_origin": "ast", "id": "app_models_pl_models_plinboundorderitembrandqty", - "community": 24, + "community": 164, "norm_label": "plinboundorderitembrandqty" }, { @@ -21740,7 +21830,7 @@ "source_location": "L770", "_origin": "ast", "id": "app_models_pl_models_ploutboundorderitembrandqty", - "community": 24, + "community": 125, "norm_label": "ploutboundorderitembrandqty" }, { @@ -21750,7 +21840,7 @@ "source_location": "L793", "_origin": "ast", "id": "app_models_pl_models_pltransportapproval", - "community": 24, + "community": 45, "norm_label": "pltransportapproval" }, { @@ -21800,7 +21890,7 @@ "source_location": "L928", "_origin": "ast", "id": "app_models_pl_models_plinventory", - "community": 24, + "community": 181, "norm_label": "plinventory" }, { @@ -21810,7 +21900,7 @@ "source_location": "L962", "_origin": "ast", "id": "app_models_pl_models_plinventorytransaction", - "community": 24, + "community": 181, "norm_label": "plinventorytransaction" }, { @@ -21820,7 +21910,7 @@ "source_location": "L993", "_origin": "ast", "id": "app_models_pl_models_plinventorywarning", - "community": 24, + "community": 164, "norm_label": "plinventorywarning" }, { @@ -21830,7 +21920,7 @@ "source_location": "L1020", "_origin": "ast", "id": "app_models_pl_models_pldocumentreminder", - "community": 24, + "community": 105, "norm_label": "pldocumentreminder" }, { @@ -21920,7 +22010,7 @@ "source_location": "L170", "_origin": "ast", "id": "app_models_pl_models_rationale_170", - "community": 24, + "community": 164, "norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)" }, { @@ -21930,7 +22020,7 @@ "source_location": "L196", "_origin": "ast", "id": "app_models_pl_models_rationale_196", - "community": 24, + "community": 68, "norm_label": "\u8f66\u8f86-\u4eba\u5458\u5173\u8054\u8868 pl_vehicle_personnel" }, { @@ -21940,7 +22030,7 @@ "source_location": "L217", "_origin": "ast", "id": "app_models_pl_models_rationale_217", - "community": 24, + "community": 164, "norm_label": "\u8f66\u8f86-\u53f8\u673a\u5173\u8054\u8868 pl_vehicle_driver(\u517c\u5bb9\u65e7\u8868)" }, { @@ -21960,7 +22050,7 @@ "source_location": "L406", "_origin": "ast", "id": "app_models_pl_models_rationale_406", - "community": 125, + "community": 164, "norm_label": "\u8ba1\u5212\u4ea7\u54c1\u5f52\u6863\u54c1\u724c\u6570\u91cf pl_plan_product_brand_qty" }, { @@ -21970,7 +22060,7 @@ "source_location": "L428", "_origin": "ast", "id": "app_models_pl_models_rationale_428", - "community": 24, + "community": 164, "norm_label": "\u8ba1\u5212\u53d8\u66f4\u8bb0\u5f55\u8868 pl_plan_change" }, { @@ -21990,7 +22080,7 @@ "source_location": "L538", "_origin": "ast", "id": "app_models_pl_models_rationale_538", - "community": 24, + "community": 25, "norm_label": "\u8fd0\u8f93\u5355\u4ea7\u54c1\u56de\u4f20\u54c1\u724c\u6570\u91cf pl_transport_product_brand_qty" }, { @@ -22000,7 +22090,7 @@ "source_location": "L561", "_origin": "ast", "id": "app_models_pl_models_rationale_561", - "community": 61, + "community": 125, "norm_label": "\u8fd0\u8f93-\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054 pl_transport_db_link" }, { @@ -22010,7 +22100,7 @@ "source_location": "L584", "_origin": "ast", "id": "app_models_pl_models_rationale_584", - "community": 45, + "community": 51, "norm_label": "\u8ba1\u5212-\u8fd0\u8f93\u5173\u8054\u8868 pl_plan_transport" }, { @@ -22030,7 +22120,7 @@ "source_location": "L636", "_origin": "ast", "id": "app_models_pl_models_rationale_636", - "community": 24, + "community": 125, "norm_label": "\u8fd0\u8f93\u8ba1\u5212-\u5165\u5e93\u5355 pl_inbound_order" }, { @@ -22050,7 +22140,7 @@ "source_location": "L692", "_origin": "ast", "id": "app_models_pl_models_rationale_692", - "community": 24, + "community": 164, "norm_label": "\u5165\u5e93\u660e\u7ec6\u54c1\u724c\u6570\u91cf pl_inbound_order_item_brand_qty" }, { @@ -22080,7 +22170,7 @@ "source_location": "L771", "_origin": "ast", "id": "app_models_pl_models_rationale_771", - "community": 24, + "community": 125, "norm_label": "\u51fa\u5e93\u660e\u7ec6\u54c1\u724c\u6570\u91cf pl_outbound_order_item_brand_qty" }, { @@ -22090,7 +22180,7 @@ "source_location": "L794", "_origin": "ast", "id": "app_models_pl_models_rationale_794", - "community": 24, + "community": 45, "norm_label": "\u8fd0\u8f93\u5ba1\u6279\u8bb0\u5f55\u8868 pl_transport_approval" }, { @@ -22140,7 +22230,7 @@ "source_location": "L963", "_origin": "ast", "id": "app_models_pl_models_rationale_963", - "community": 24, + "community": 181, "norm_label": "\u5e93\u5b58\u6d41\u6c34\u8868 pl_inventory_transaction" }, { @@ -22150,7 +22240,7 @@ "source_location": "L994", "_origin": "ast", "id": "app_models_pl_models_rationale_994", - "community": 24, + "community": 164, "norm_label": "\u5e93\u5b58\u9884\u8b66\u8868 pl_inventory_warning" }, { @@ -22160,7 +22250,7 @@ "source_location": "L1021", "_origin": "ast", "id": "app_models_pl_models_rationale_1021", - "community": 24, + "community": 105, "norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder" }, { @@ -22610,7 +22700,7 @@ "source_location": "L36", "_origin": "ast", "id": "app_schemas_bx_common_apiresponse", - "community": 14, + "community": 26, "norm_label": "apiresponse" }, { @@ -22860,7 +22950,7 @@ "source_location": "L76", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapplycreate", - "community": 14, + "community": 26, "norm_label": "reimburseapplycreate" }, { @@ -22870,7 +22960,7 @@ "source_location": "L89", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapplycreate_details_must_not_be_empty", - "community": 14, + "community": 26, "norm_label": ".details_must_not_be_empty()" }, { @@ -22880,7 +22970,7 @@ "source_location": "L96", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapplycreate_coerce_applicant_id", - "community": 14, + "community": 26, "norm_label": ".coerce_applicant_id()" }, { @@ -22890,7 +22980,7 @@ "source_location": "L100", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapplyupdate", - "community": 14, + "community": 26, "norm_label": "reimburseapplyupdate" }, { @@ -22910,7 +23000,7 @@ "source_location": "L117", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimbursesubmitbody", - "community": 14, + "community": 26, "norm_label": "reimbursesubmitbody" }, { @@ -22920,7 +23010,7 @@ "source_location": "L124", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapplyout", - "community": 14, + "community": 26, "norm_label": "reimburseapplyout" }, { @@ -22930,7 +23020,7 @@ "source_location": "L154", "_origin": "ast", "id": "app_schemas_bx_reimburse_reimburseapprovalcreate", - "community": 14, + "community": 26, "norm_label": "reimburseapprovalcreate" }, { @@ -23210,7 +23300,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_clue", - "community": 78, + "community": 64, "norm_label": "clue.py" }, { @@ -23230,7 +23320,7 @@ "source_location": "L43", "_origin": "ast", "id": "app_schemas_crm_clue_cluecreatebody", - "community": 78, + "community": 64, "norm_label": "cluecreatebody" }, { @@ -23240,7 +23330,7 @@ "source_location": "L74", "_origin": "ast", "id": "app_schemas_crm_clue_clueupdatebody", - "community": 78, + "community": 64, "norm_label": "clueupdatebody" }, { @@ -23250,7 +23340,7 @@ "source_location": "L81", "_origin": "ast", "id": "app_schemas_crm_clue_cluedeletebody", - "community": 78, + "community": 64, "norm_label": "cluedeletebody" }, { @@ -23260,7 +23350,7 @@ "source_location": "L87", "_origin": "ast", "id": "app_schemas_crm_clue_clueassignbody", - "community": 78, + "community": 64, "norm_label": "clueassignbody" }, { @@ -23270,7 +23360,7 @@ "source_location": "L95", "_origin": "ast", "id": "app_schemas_crm_clue_clueconvertbody", - "community": 78, + "community": 64, "norm_label": "clueconvertbody" }, { @@ -23280,7 +23370,7 @@ "source_location": "L106", "_origin": "ast", "id": "app_schemas_crm_clue_cluestatusbody", - "community": 78, + "community": 64, "norm_label": "cluestatusbody" }, { @@ -23290,7 +23380,7 @@ "source_location": "L113", "_origin": "ast", "id": "app_schemas_crm_clue_cluelevelbody", - "community": 78, + "community": 64, "norm_label": "cluelevelbody" }, { @@ -23300,7 +23390,7 @@ "source_location": "L120", "_origin": "ast", "id": "app_schemas_crm_clue_clueinvalidbody", - "community": 78, + "community": 64, "norm_label": "clueinvalidbody" }, { @@ -23310,7 +23400,7 @@ "source_location": "L131", "_origin": "ast", "id": "app_schemas_crm_clue_cluefollowlistbody", - "community": 78, + "community": 64, "norm_label": "cluefollowlistbody" }, { @@ -23320,7 +23410,7 @@ "source_location": "L139", "_origin": "ast", "id": "app_schemas_crm_clue_cluefollowcreatebody", - "community": 78, + "community": 64, "norm_label": "cluefollowcreatebody" }, { @@ -23330,7 +23420,7 @@ "source_location": "L150", "_origin": "ast", "id": "app_schemas_crm_clue_cluefollowdeletebody", - "community": 78, + "community": 64, "norm_label": "cluefollowdeletebody" }, { @@ -23340,7 +23430,7 @@ "source_location": "L156", "_origin": "ast", "id": "app_schemas_crm_clue_cluefollowupdatebody", - "community": 78, + "community": 64, "norm_label": "cluefollowupdatebody" }, { @@ -23360,7 +23450,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_clue_rationale_1", - "community": 78, + "community": 64, "norm_label": "crm \u7ebf\u7d22\u7ba1\u7406 pydantic schemas" }, { @@ -23400,7 +23490,7 @@ "source_location": "L47", "_origin": "ast", "id": "app_schemas_crm_contact_contactupdatebody", - "community": 12, + "community": 64, "norm_label": "contactupdatebody" }, { @@ -23410,7 +23500,7 @@ "source_location": "L71", "_origin": "ast", "id": "app_schemas_crm_contact_contactdeletebody", - "community": 12, + "community": 64, "norm_label": "contactdeletebody" }, { @@ -23490,7 +23580,7 @@ "source_location": "L55", "_origin": "ast", "id": "app_schemas_crm_contract_contractlistquery", - "community": 91, + "community": 1, "norm_label": "contractlistquery" }, { @@ -23620,7 +23710,7 @@ "source_location": "L212", "_origin": "ast", "id": "app_schemas_crm_contract_contractexportbody", - "community": 91, + "community": 1, "norm_label": "contractexportbody" }, { @@ -23630,7 +23720,7 @@ "source_location": "L217", "_origin": "ast", "id": "app_schemas_crm_contract_contractstatisticsoverviewquery", - "community": 91, + "community": 1, "norm_label": "contractstatisticsoverviewquery" }, { @@ -23640,7 +23730,7 @@ "source_location": "L223", "_origin": "ast", "id": "app_schemas_crm_contract_contractstatisticstrendquery", - "community": 91, + "community": 1, "norm_label": "contractstatisticstrendquery" }, { @@ -23840,7 +23930,7 @@ "source_location": "L56", "_origin": "ast", "id": "app_schemas_crm_contract_rationale_56", - "community": 91, + "community": 1, "norm_label": "get /contract/list \u67e5\u8be2\u53c2\u6570(\u5bf9\u9f50 crmcontractbo + pagenum/pagesize)" }, { @@ -23860,7 +23950,7 @@ "source_location": "L213", "_origin": "ast", "id": "app_schemas_crm_contract_rationale_213", - "community": 91, + "community": 1, "norm_label": "post /contract/export \u7b5b\u9009\u6761\u4ef6(\u65e0\u5206\u9875\u6216\u6cbf\u7528 list \u53c2\u6570)" }, { @@ -23880,7 +23970,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_contract_approver_setting", - "community": 91, + "community": 1, "norm_label": "contract_approver_setting.py" }, { @@ -23890,7 +23980,7 @@ "source_location": "L6", "_origin": "ast", "id": "app_schemas_crm_contract_approver_setting_contractapproversettingsavebody", - "community": 91, + "community": 1, "norm_label": "contractapproversettingsavebody" }, { @@ -23904,30 +23994,40 @@ "norm_label": "customer.py" }, { - "label": "CustomerListBody", + "label": "CustomerOptionsBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", "source_location": "L12", "_origin": "ast", + "id": "app_schemas_crm_customer_customeroptionsbody", + "community": 12, + "norm_label": "customeroptionsbody" + }, + { + "label": "CustomerListBody", + "file_type": "code", + "source_file": "app/schemas/crm/customer.py", + "source_location": "L27", + "_origin": "ast", "id": "app_schemas_crm_customer_customerlistbody", - "community": 150, + "community": 144, "norm_label": "customerlistbody" }, { "label": ".to_list_kwargs()", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L39", + "source_location": "L54", "_origin": "ast", "id": "app_schemas_crm_customer_customerlistbody_to_list_kwargs", - "community": 150, + "community": 144, "norm_label": ".to_list_kwargs()" }, { "label": "CustomerCreateBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L72", + "source_location": "L87", "_origin": "ast", "id": "app_schemas_crm_customer_customercreatebody", "community": 12, @@ -23937,7 +24037,7 @@ "label": "._forbid_legacy_invoice_fields()", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L110", + "source_location": "L125", "_origin": "ast", "id": "app_schemas_crm_customer_customercreatebody_forbid_legacy_invoice_fields", "community": 12, @@ -23947,7 +24047,7 @@ "label": "CustomerUpdateBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L135", + "source_location": "L150", "_origin": "ast", "id": "app_schemas_crm_customer_customerupdatebody", "community": 12, @@ -23957,7 +24057,7 @@ "label": "._forbid_legacy_invoice_fields()", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L174", + "source_location": "L189", "_origin": "ast", "id": "app_schemas_crm_customer_customerupdatebody_forbid_legacy_invoice_fields", "community": 12, @@ -23967,17 +24067,17 @@ "label": "CustomerDeleteBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L199", + "source_location": "L214", "_origin": "ast", "id": "app_schemas_crm_customer_customerdeletebody", - "community": 12, + "community": 64, "norm_label": "customerdeletebody" }, { "label": "CustomerDetailBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L207", + "source_location": "L222", "_origin": "ast", "id": "app_schemas_crm_customer_customerdetailbody", "community": 12, @@ -23987,7 +24087,7 @@ "label": "CustomerTransferBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L214", + "source_location": "L229", "_origin": "ast", "id": "app_schemas_crm_customer_customertransferbody", "community": 12, @@ -23997,7 +24097,7 @@ "label": "CustomerIntoPoolBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L226", + "source_location": "L241", "_origin": "ast", "id": "app_schemas_crm_customer_customerintopoolbody", "community": 12, @@ -24007,7 +24107,7 @@ "label": "CustomerDealBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L236", + "source_location": "L251", "_origin": "ast", "id": "app_schemas_crm_customer_customerdealbody", "community": 12, @@ -24017,7 +24117,7 @@ "label": "CustomerClaimBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L248", + "source_location": "L263", "_origin": "ast", "id": "app_schemas_crm_customer_customerclaimbody", "community": 12, @@ -24027,7 +24127,7 @@ "label": "CustomerAssignPoolBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L257", + "source_location": "L272", "_origin": "ast", "id": "app_schemas_crm_customer_customerassignpoolbody", "community": 12, @@ -24037,7 +24137,7 @@ "label": "CustomerCheckDuplicateBody", "file_type": "code", "source_file": "app/schemas/crm/customer.py", - "source_location": "L268", + "source_location": "L283", "_origin": "ast", "id": "app_schemas_crm_customer_customercheckduplicatebody", "community": 12, @@ -24053,14 +24153,24 @@ "community": 12, "norm_label": "crm \u5ba2\u6237\u7ba1\u7406 pydantic schemas" }, + { + "label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\u8bf7\u6c42\u4f53\uff08\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22\uff0c\u4e0d\u505a owner \u6570\u636e\u6743\u9650\uff09", + "file_type": "rationale", + "source_file": "app/schemas/crm/customer.py", + "source_location": "L13", + "_origin": "ast", + "id": "app_schemas_crm_customer_rationale_13", + "community": 12, + "norm_label": "\u5ba2\u6237\u4e0b\u62c9\u9009\u9879\u8bf7\u6c42\u4f53(\u79df\u6237\u5185\u53ea\u8bfb\u641c\u7d22,\u4e0d\u505a owner \u6570\u636e\u6743\u9650)" + }, { "label": "\u89e3\u6790\u5217\u8868\u67e5\u8be2\u53c2\u6570\uff0c\u4f9b API \u4e0e CRUD \u5171\u7528\u3002", "file_type": "rationale", "source_file": "app/schemas/crm/customer.py", - "source_location": "L40", + "source_location": "L55", "_origin": "ast", - "id": "app_schemas_crm_customer_rationale_40", - "community": 150, + "id": "app_schemas_crm_customer_rationale_55", + "community": 144, "norm_label": "\u89e3\u6790\u5217\u8868\u67e5\u8be2\u53c2\u6570,\u4f9b api \u4e0e crud \u5171\u7528\u3002" }, { @@ -24150,7 +24260,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_customer_pool", - "community": 64, + "community": 145, "norm_label": "customer_pool.py" }, { @@ -24160,7 +24270,7 @@ "source_location": "L7", "_origin": "ast", "id": "app_schemas_crm_customer_pool_poolcustomerlistbody", - "community": 64, + "community": 145, "norm_label": "poolcustomerlistbody" }, { @@ -24170,7 +24280,7 @@ "source_location": "L18", "_origin": "ast", "id": "app_schemas_crm_customer_pool_poolassignbody", - "community": 64, + "community": 145, "norm_label": "poolassignbody" }, { @@ -24180,7 +24290,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_schemas_crm_customer_pool_poolclaimbody", - "community": 64, + "community": 145, "norm_label": "poolclaimbody" }, { @@ -24190,7 +24300,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_schemas_crm_customer_pool_poolrecordlistbody", - "community": 64, + "community": 145, "norm_label": "poolrecordlistbody" }, { @@ -24200,7 +24310,7 @@ "source_location": "L42", "_origin": "ast", "id": "app_schemas_crm_customer_pool_poolrecorddetailbody", - "community": 64, + "community": 145, "norm_label": "poolrecorddetailbody" }, { @@ -24210,7 +24320,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_customer_pool_rationale_1", - "community": 64, + "community": 145, "norm_label": "crm \u5ba2\u6237\u516c\u6d77\u6c60\u8bb0\u5f55 pydantic schemas" }, { @@ -24220,7 +24330,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_invoice_info", - "community": 144, + "community": 126, "norm_label": "invoice_info.py" }, { @@ -24230,7 +24340,7 @@ "source_location": "L8", "_origin": "ast", "id": "app_schemas_crm_invoice_info_invoiceinfobycustomerbody", - "community": 144, + "community": 126, "norm_label": "invoiceinfobycustomerbody" }, { @@ -24240,7 +24350,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_schemas_crm_invoice_info_invoiceinfocreatebody", - "community": 144, + "community": 64, "norm_label": "invoiceinfocreatebody" }, { @@ -24250,7 +24360,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_schemas_crm_invoice_info_invoiceinfoupdatebody", - "community": 144, + "community": 64, "norm_label": "invoiceinfoupdatebody" }, { @@ -24260,7 +24370,7 @@ "source_location": "L47", "_origin": "ast", "id": "app_schemas_crm_invoice_info_invoiceinfodeletebody", - "community": 144, + "community": 126, "norm_label": "invoiceinfodeletebody" }, { @@ -24270,7 +24380,7 @@ "source_location": "L52", "_origin": "ast", "id": "app_schemas_crm_invoice_info_invoiceinfosetdefaultbody", - "community": 144, + "community": 64, "norm_label": "invoiceinfosetdefaultbody" }, { @@ -24280,7 +24390,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_invoice_info_rationale_1", - "community": 144, + "community": 126, "norm_label": "crm \u5ba2\u6237\u5f00\u7968\u4fe1\u606f pydantic schemas" }, { @@ -24570,7 +24680,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_pool_rule", - "community": 64, + "community": 78, "norm_label": "pool_rule.py" }, { @@ -24580,7 +24690,7 @@ "source_location": "L7", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolrulelistbody", - "community": 64, + "community": 78, "norm_label": "poolrulelistbody" }, { @@ -24590,7 +24700,7 @@ "source_location": "L17", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruledetailbody", - "community": 64, + "community": 78, "norm_label": "poolruledetailbody" }, { @@ -24600,7 +24710,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruleaddbody", - "community": 64, + "community": 78, "norm_label": "poolruleaddbody" }, { @@ -24610,7 +24720,7 @@ "source_location": "L35", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruleupdatebody", - "community": 64, + "community": 78, "norm_label": "poolruleupdatebody" }, { @@ -24620,7 +24730,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruledeletebody", - "community": 64, + "community": 78, "norm_label": "poolruledeletebody" }, { @@ -24630,7 +24740,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruleupdatestatusbody", - "community": 64, + "community": 78, "norm_label": "poolruleupdatestatusbody" }, { @@ -24640,7 +24750,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_schemas_crm_pool_rule_poolruleexecutebody", - "community": 64, + "community": 78, "norm_label": "poolruleexecutebody" }, { @@ -24650,7 +24760,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_pool_rule_rationale_1", - "community": 64, + "community": 78, "norm_label": "crm \u5ba2\u6237\u516c\u6d77\u6c60\u89c4\u5219 pydantic schemas" }, { @@ -24660,7 +24770,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_price_letter", - "community": 64, + "community": 150, "norm_label": "price_letter.py" }, { @@ -24670,7 +24780,7 @@ "source_location": "L9", "_origin": "ast", "id": "app_schemas_crm_price_letter_priceletterlistbody", - "community": 64, + "community": 150, "norm_label": "priceletterlistbody" }, { @@ -24680,7 +24790,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_schemas_crm_price_letter_priceletterdetailbody", - "community": 64, + "community": 150, "norm_label": "priceletterdetailbody" }, { @@ -24690,7 +24800,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_schemas_crm_price_letter_pricelettercreatebody", - "community": 64, + "community": 150, "norm_label": "pricelettercreatebody" }, { @@ -24700,7 +24810,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_schemas_crm_price_letter_priceletterupdatebody", - "community": 64, + "community": 150, "norm_label": "priceletterupdatebody" }, { @@ -24710,7 +24820,7 @@ "source_location": "L65", "_origin": "ast", "id": "app_schemas_crm_price_letter_pricelettervoidbody", - "community": 64, + "community": 150, "norm_label": "pricelettervoidbody" }, { @@ -24720,7 +24830,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_price_letter_rationale_1", - "community": 64, + "community": 150, "norm_label": "crm \u8c03\u4ef7\u51fd pydantic schemas" }, { @@ -24730,7 +24840,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_product", - "community": 12, + "community": 24, "norm_label": "product.py" }, { @@ -24740,7 +24850,7 @@ "source_location": "L12", "_origin": "ast", "id": "app_schemas_crm_product_productcategorycreatebody", - "community": 12, + "community": 24, "norm_label": "productcategorycreatebody" }, { @@ -24750,7 +24860,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_schemas_crm_product_productcategoryupdatebody", - "community": 12, + "community": 24, "norm_label": "productcategoryupdatebody" }, { @@ -24760,7 +24870,7 @@ "source_location": "L41", "_origin": "ast", "id": "app_schemas_crm_product_categorydeletebody", - "community": 12, + "community": 24, "norm_label": "categorydeletebody" }, { @@ -24770,7 +24880,7 @@ "source_location": "L47", "_origin": "ast", "id": "app_schemas_crm_product_productcategorytreebody", - "community": 12, + "community": 24, "norm_label": "productcategorytreebody" }, { @@ -24780,7 +24890,7 @@ "source_location": "L56", "_origin": "ast", "id": "app_schemas_crm_product_productupdatestatusbody", - "community": 12, + "community": 64, "norm_label": "productupdatestatusbody" }, { @@ -24800,7 +24910,7 @@ "source_location": "L79", "_origin": "ast", "id": "app_schemas_crm_product_productbranditem", - "community": 12, + "community": 24, "norm_label": "productbranditem" }, { @@ -24810,7 +24920,7 @@ "source_location": "L90", "_origin": "ast", "id": "app_schemas_crm_product_productaliasitem", - "community": 12, + "community": 24, "norm_label": "productaliasitem" }, { @@ -24820,7 +24930,7 @@ "source_location": "L100", "_origin": "ast", "id": "app_schemas_crm_product_productcreatebody", - "community": 12, + "community": 24, "norm_label": "productcreatebody" }, { @@ -24830,7 +24940,7 @@ "source_location": "L134", "_origin": "ast", "id": "app_schemas_crm_product_productupdatebody", - "community": 12, + "community": 64, "norm_label": "productupdatebody" }, { @@ -24840,7 +24950,7 @@ "source_location": "L169", "_origin": "ast", "id": "app_schemas_crm_product_productdetailbody", - "community": 64, + "community": 24, "norm_label": "productdetailbody" }, { @@ -24850,7 +24960,7 @@ "source_location": "L175", "_origin": "ast", "id": "app_schemas_crm_product_productdeletebody", - "community": 12, + "community": 24, "norm_label": "productdeletebody" }, { @@ -24860,7 +24970,7 @@ "source_location": "L182", "_origin": "ast", "id": "app_schemas_crm_product_productoptionsbody", - "community": 12, + "community": 64, "norm_label": "productoptionsbody" }, { @@ -24870,7 +24980,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_crm_product_rationale_1", - "community": 12, + "community": 24, "norm_label": "crm \u4ea7\u54c1\u6a21\u5757 pydantic schemas" }, { @@ -24880,7 +24990,7 @@ "source_location": "L48", "_origin": "ast", "id": "app_schemas_crm_product_rationale_48", - "community": 12, + "community": 24, "norm_label": "\u4ea7\u54c1\u5206\u7c7b\u6811\u67e5\u8be2(\u5bc6\u6587\u89e3\u5bc6\u540e\u987b\u7528 pydantic \u7ed1\u5b9a,\u88f8 dict=none \u5728\u90e8\u5206\u94fe\u8def\u4e0b\u4f1a\u4e22 body)" }, { @@ -25710,7 +25820,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_monitor_operlog", - "community": 26, + "community": 60, "norm_label": "operlog.py" }, { @@ -25720,7 +25830,7 @@ "source_location": "L8", "_origin": "ast", "id": "app_schemas_monitor_operlog_operloglistbody", - "community": 26, + "community": 60, "norm_label": "operloglistbody" }, { @@ -25730,7 +25840,7 @@ "source_location": "L21", "_origin": "ast", "id": "app_schemas_monitor_operlog_operlogdetailbody", - "community": 26, + "community": 60, "norm_label": "operlogdetailbody" }, { @@ -25740,7 +25850,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_monitor_operlog_rationale_1", - "community": 26, + "community": 60, "norm_label": "\u64cd\u4f5c\u65e5\u5fd7(\u517c\u5bb9 ruoyi operlog \u89c6\u56fe)" }, { @@ -25750,7 +25860,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_init", - "community": 97, + "community": 0, "norm_label": "__init__.py" }, { @@ -25760,7 +25870,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_init_rationale_1", - "community": 97, + "community": 0, "norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - pydantic schema" }, { @@ -25770,7 +25880,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_base_data", - "community": 97, + "community": 154, "norm_label": "base_data.py" }, { @@ -25780,7 +25890,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierbase", - "community": 97, + "community": 154, "norm_label": "carrierbase" }, { @@ -25790,7 +25900,7 @@ "source_location": "L27", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierqualificationbase", - "community": 97, + "community": 154, "norm_label": "carrierqualificationbase" }, { @@ -25800,7 +25910,7 @@ "source_location": "L45", "_origin": "ast", "id": "app_schemas_pl_base_data_carriercreate", - "community": 97, + "community": 154, "norm_label": "carriercreate" }, { @@ -25810,7 +25920,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierupdate", - "community": 97, + "community": 154, "norm_label": "carrierupdate" }, { @@ -25820,7 +25930,7 @@ "source_location": "L71", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierauditreject", - "community": 97, + "community": 154, "norm_label": "carrierauditreject" }, { @@ -25830,7 +25940,7 @@ "source_location": "L77", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierread", - "community": 97, + "community": 154, "norm_label": "carrierread" }, { @@ -25840,7 +25950,7 @@ "source_location": "L96", "_origin": "ast", "id": "app_schemas_pl_base_data_carrier_to_read", - "community": 97, + "community": 154, "norm_label": "carrier_to_read()" }, { @@ -25850,7 +25960,7 @@ "source_location": "", "_origin": "ast", "id": "app_schemas_pl_base_data_py_date", - "community": 97, + "community": 154, "norm_label": "date" }, { @@ -25860,7 +25970,7 @@ "source_location": "L132", "_origin": "ast", "id": "app_schemas_pl_base_data_vehiclepersonnelrow", - "community": 119, + "community": 68, "norm_label": "vehiclepersonnelrow" }, { @@ -25880,7 +25990,7 @@ "source_location": "L158", "_origin": "ast", "id": "app_schemas_pl_base_data_certread", - "community": 67, + "community": 105, "norm_label": "certread" }, { @@ -25890,7 +26000,7 @@ "source_location": "L174", "_origin": "ast", "id": "app_schemas_pl_base_data_vehiclebase", - "community": 97, + "community": 154, "norm_label": "vehiclebase" }, { @@ -25900,7 +26010,7 @@ "source_location": "L190", "_origin": "ast", "id": "app_schemas_pl_base_data_vehiclecreate", - "community": 97, + "community": 154, "norm_label": "vehiclecreate" }, { @@ -25910,7 +26020,7 @@ "source_location": "L196", "_origin": "ast", "id": "app_schemas_pl_base_data_vehicleupdate", - "community": 97, + "community": 154, "norm_label": "vehicleupdate" }, { @@ -25920,7 +26030,7 @@ "source_location": "L213", "_origin": "ast", "id": "app_schemas_pl_base_data_vehicleread", - "community": 97, + "community": 68, "norm_label": "vehicleread" }, { @@ -25940,7 +26050,7 @@ "source_location": "L239", "_origin": "ast", "id": "app_schemas_pl_base_data_personnelbase", - "community": 97, + "community": 154, "norm_label": "personnelbase" }, { @@ -25950,7 +26060,7 @@ "source_location": "L263", "_origin": "ast", "id": "app_schemas_pl_base_data_personnelcreate", - "community": 97, + "community": 154, "norm_label": "personnelcreate" }, { @@ -25960,7 +26070,7 @@ "source_location": "L268", "_origin": "ast", "id": "app_schemas_pl_base_data_personnelupdate", - "community": 97, + "community": 154, "norm_label": "personnelupdate" }, { @@ -25970,7 +26080,7 @@ "source_location": "L286", "_origin": "ast", "id": "app_schemas_pl_base_data_personnelread", - "community": 97, + "community": 154, "norm_label": "personnelread" }, { @@ -25980,7 +26090,7 @@ "source_location": "L301", "_origin": "ast", "id": "app_schemas_pl_base_data_personneldetailread", - "community": 105, + "community": 154, "norm_label": "personneldetailread" }, { @@ -25990,7 +26100,7 @@ "source_location": "L311", "_origin": "ast", "id": "app_schemas_pl_base_data_driverbase", - "community": 97, + "community": 154, "norm_label": "driverbase" }, { @@ -26000,7 +26110,7 @@ "source_location": "L324", "_origin": "ast", "id": "app_schemas_pl_base_data_drivercreate", - "community": 97, + "community": 154, "norm_label": "drivercreate" }, { @@ -26010,7 +26120,7 @@ "source_location": "L328", "_origin": "ast", "id": "app_schemas_pl_base_data_driverupdate", - "community": 97, + "community": 154, "norm_label": "driverupdate" }, { @@ -26020,7 +26130,7 @@ "source_location": "L342", "_origin": "ast", "id": "app_schemas_pl_base_data_driverread", - "community": 97, + "community": 154, "norm_label": "driverread" }, { @@ -26030,7 +26140,7 @@ "source_location": "L355", "_origin": "ast", "id": "app_schemas_pl_base_data_driverlistresponse", - "community": 97, + "community": 154, "norm_label": "driverlistresponse" }, { @@ -26040,7 +26150,7 @@ "source_location": "L365", "_origin": "ast", "id": "app_schemas_pl_base_data_vehicledrivercreate", - "community": 97, + "community": 154, "norm_label": "vehicledrivercreate" }, { @@ -26050,7 +26160,7 @@ "source_location": "L372", "_origin": "ast", "id": "app_schemas_pl_base_data_vehicledriverread", - "community": 97, + "community": 154, "norm_label": "vehicledriverread" }, { @@ -26060,7 +26170,7 @@ "source_location": "L382", "_origin": "ast", "id": "app_schemas_pl_base_data_carrierlistresponse", - "community": 97, + "community": 154, "norm_label": "carrierlistresponse" }, { @@ -26070,7 +26180,7 @@ "source_location": "L387", "_origin": "ast", "id": "app_schemas_pl_base_data_vehiclelistresponse", - "community": 97, + "community": 154, "norm_label": "vehiclelistresponse" }, { @@ -26080,7 +26190,7 @@ "source_location": "L392", "_origin": "ast", "id": "app_schemas_pl_base_data_personnellistresponse", - "community": 97, + "community": 154, "norm_label": "personnellistresponse" }, { @@ -26090,7 +26200,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_base_data_rationale_1", - "community": 97, + "community": 154, "norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - \u57fa\u7840\u6570\u636e schema(\u627f\u8fd0\u5546\u3001\u8f66\u8f86\u3001\u4eba\u5458\u3001\u8bc1\u4e66)" }, { @@ -26140,7 +26250,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_freight", - "community": 0, + "community": 28, "norm_label": "freight.py" }, { @@ -26150,7 +26260,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementbase", - "community": 0, + "community": 28, "norm_label": "freightsettlementbase" }, { @@ -26160,7 +26270,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementcreate", - "community": 0, + "community": 28, "norm_label": "freightsettlementcreate" }, { @@ -26170,7 +26280,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementcreate_check_ids", - "community": 0, + "community": 28, "norm_label": ".check_ids()" }, { @@ -26180,7 +26290,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementupdate", - "community": 0, + "community": 28, "norm_label": "freightsettlementupdate" }, { @@ -26190,7 +26300,7 @@ "source_location": "L50", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementread", - "community": 0, + "community": 28, "norm_label": "freightsettlementread" }, { @@ -26200,7 +26310,7 @@ "source_location": "L64", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementlistitem", - "community": 0, + "community": 28, "norm_label": "freightsettlementlistitem" }, { @@ -26210,7 +26320,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementtransportread", - "community": 0, + "community": 28, "norm_label": "freightsettlementtransportread" }, { @@ -26220,7 +26330,7 @@ "source_location": "L88", "_origin": "ast", "id": "app_schemas_pl_freight_unsettledplanitem", - "community": 0, + "community": 28, "norm_label": "unsettledplanitem" }, { @@ -26230,7 +26340,7 @@ "source_location": "L108", "_origin": "ast", "id": "app_schemas_pl_freight_unsettledplanlistresponse", - "community": 0, + "community": 28, "norm_label": "unsettledplanlistresponse" }, { @@ -26240,7 +26350,7 @@ "source_location": "L113", "_origin": "ast", "id": "app_schemas_pl_freight_settlementplansummary", - "community": 0, + "community": 28, "norm_label": "settlementplansummary" }, { @@ -26250,7 +26360,7 @@ "source_location": "L122", "_origin": "ast", "id": "app_schemas_pl_freight_settlementapprovalflowitem", - "community": 0, + "community": 28, "norm_label": "settlementapprovalflowitem" }, { @@ -26260,7 +26370,7 @@ "source_location": "L136", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementwithtransports", - "community": 0, + "community": 28, "norm_label": "freightsettlementwithtransports" }, { @@ -26270,7 +26380,7 @@ "source_location": "L154", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementsubmitapprovalbody", - "community": 0, + "community": 28, "norm_label": "freightsettlementsubmitapprovalbody" }, { @@ -26280,7 +26390,7 @@ "source_location": "L161", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementapprovalactionbody", - "community": 0, + "community": 28, "norm_label": "freightsettlementapprovalactionbody" }, { @@ -26290,7 +26400,7 @@ "source_location": "L166", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementdisbursebody", - "community": 0, + "community": 28, "norm_label": "freightsettlementdisbursebody" }, { @@ -26300,7 +26410,7 @@ "source_location": "L179", "_origin": "ast", "id": "app_schemas_pl_freight_remittancevouchercreate", - "community": 0, + "community": 28, "norm_label": "remittancevouchercreate" }, { @@ -26310,7 +26420,7 @@ "source_location": "L188", "_origin": "ast", "id": "app_schemas_pl_freight_remittancevoucherread", - "community": 0, + "community": 28, "norm_label": "remittancevoucherread" }, { @@ -26320,7 +26430,7 @@ "source_location": "L207", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementlistquery", - "community": 0, + "community": 28, "norm_label": "freightsettlementlistquery" }, { @@ -26330,7 +26440,7 @@ "source_location": "L216", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementlistresponse", - "community": 0, + "community": 28, "norm_label": "freightsettlementlistresponse" }, { @@ -26340,7 +26450,7 @@ "source_location": "L221", "_origin": "ast", "id": "app_schemas_pl_freight_freightsettlementbytransportread", - "community": 0, + "community": 28, "norm_label": "freightsettlementbytransportread" }, { @@ -26350,7 +26460,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_inventory", - "community": 28, + "community": 0, "norm_label": "inventory.py" }, { @@ -26360,7 +26470,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_schemas_pl_inventory_inventoryread", - "community": 28, + "community": 0, "norm_label": "inventoryread" }, { @@ -26370,7 +26480,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorytransactionread", - "community": 28, + "community": 0, "norm_label": "inventorytransactionread" }, { @@ -26380,7 +26490,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorywarningread", - "community": 28, + "community": 0, "norm_label": "inventorywarningread" }, { @@ -26390,7 +26500,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorywarningupdate", - "community": 28, + "community": 0, "norm_label": "inventorywarningupdate" }, { @@ -26400,7 +26510,7 @@ "source_location": "L84", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorywarningthreshold", - "community": 28, + "community": 0, "norm_label": "inventorywarningthreshold" }, { @@ -26410,7 +26520,7 @@ "source_location": "L98", "_origin": "ast", "id": "app_schemas_pl_inventory_documentreminderread", - "community": 28, + "community": 0, "norm_label": "documentreminderread" }, { @@ -26420,7 +26530,7 @@ "source_location": "L116", "_origin": "ast", "id": "app_schemas_pl_inventory_documentreminderupdate", - "community": 28, + "community": 0, "norm_label": "documentreminderupdate" }, { @@ -26430,7 +26540,7 @@ "source_location": "L122", "_origin": "ast", "id": "app_schemas_pl_inventory_documentreminderstatsread", - "community": 28, + "community": 0, "norm_label": "documentreminderstatsread" }, { @@ -26440,7 +26550,7 @@ "source_location": "L132", "_origin": "ast", "id": "app_schemas_pl_inventory_inventoryledgerquery", - "community": 28, + "community": 0, "norm_label": "inventoryledgerquery" }, { @@ -26450,7 +26560,7 @@ "source_location": "L139", "_origin": "ast", "id": "app_schemas_pl_inventory_inventoryledgerresponse", - "community": 28, + "community": 0, "norm_label": "inventoryledgerresponse" }, { @@ -26460,7 +26570,7 @@ "source_location": "L144", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorytransactionquery", - "community": 28, + "community": 0, "norm_label": "inventorytransactionquery" }, { @@ -26470,7 +26580,7 @@ "source_location": "L154", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorytransactionresponse", - "community": 28, + "community": 0, "norm_label": "inventorytransactionresponse" }, { @@ -26480,7 +26590,7 @@ "source_location": "L159", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorysummaryquery", - "community": 97, + "community": 0, "norm_label": "inventorysummaryquery" }, { @@ -26490,7 +26600,7 @@ "source_location": "L167", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorysummaryitem", - "community": 28, + "community": 0, "norm_label": "inventorysummaryitem" }, { @@ -26500,7 +26610,7 @@ "source_location": "L176", "_origin": "ast", "id": "app_schemas_pl_inventory_inventorysummaryresponse", - "community": 28, + "community": 0, "norm_label": "inventorysummaryresponse" }, { @@ -26510,7 +26620,7 @@ "source_location": "L180", "_origin": "ast", "id": "app_schemas_pl_inventory_transportstatsquery", - "community": 97, + "community": 0, "norm_label": "transportstatsquery" }, { @@ -26520,7 +26630,7 @@ "source_location": "L187", "_origin": "ast", "id": "app_schemas_pl_inventory_transportstatsitem", - "community": 28, + "community": 0, "norm_label": "transportstatsitem" }, { @@ -26530,7 +26640,7 @@ "source_location": "L194", "_origin": "ast", "id": "app_schemas_pl_inventory_transportstatsresponse", - "community": 28, + "community": 0, "norm_label": "transportstatsresponse" }, { @@ -26650,7 +26760,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_menu_badge", - "community": 26, + "community": 14, "norm_label": "menu_badge.py" }, { @@ -26660,7 +26770,7 @@ "source_location": "L6", "_origin": "ast", "id": "app_schemas_pl_menu_badge_plmenubadgestatsread", - "community": 26, + "community": 14, "norm_label": "plmenubadgestatsread" }, { @@ -27020,7 +27130,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot", - "community": 174, + "community": 67, "norm_label": "resource_snapshot.py" }, { @@ -27030,7 +27140,7 @@ "source_location": "L11", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_snapshotcertread", - "community": 67, + "community": 105, "norm_label": "snapshotcertread" }, { @@ -27040,7 +27150,7 @@ "source_location": "L29", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_snapshotpersonnelrow", - "community": 67, + "community": 105, "norm_label": "snapshotpersonnelrow" }, { @@ -27050,7 +27160,7 @@ "source_location": "L45", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_transportresourcesnapshot", - "community": 174, + "community": 67, "norm_label": "transportresourcesnapshot" }, { @@ -27060,7 +27170,7 @@ "source_location": "L65", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_parse_resource_snapshot", - "community": 174, + "community": 67, "norm_label": "parse_resource_snapshot()" }, { @@ -27070,7 +27180,7 @@ "source_location": "", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_py_any", - "community": 174, + "community": 67, "norm_label": "any" }, { @@ -27080,7 +27190,7 @@ "source_location": "L81", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_planresourcesnapshotmixin", - "community": 45, + "community": 179, "norm_label": "planresourcesnapshotmixin" }, { @@ -27090,7 +27200,7 @@ "source_location": "L91", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_planresourcesnapshotmixin_coerce_resource_snapshot", - "community": 174, + "community": 67, "norm_label": "._coerce_resource_snapshot()" }, { @@ -27100,7 +27210,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_rationale_1", - "community": 174, + "community": 67, "norm_label": "\u8fd0\u8f93\u8ba1\u5212 - \u5b89\u6392\u8fd0\u8f93\u65f6\u8f66\u8f86/\u4eba\u5458/\u8bc1\u4ef6\u8d44\u6e90\u5feb\u7167 schema" }, { @@ -27110,7 +27220,7 @@ "source_location": "L66", "_origin": "ast", "id": "app_schemas_pl_resource_snapshot_rationale_66", - "community": 174, + "community": 67, "norm_label": "\u4ece orm \u6587\u672c\u5217\u6216 dict \u89e3\u6790\u5feb\u7167\u3002" }, { @@ -27270,7 +27380,7 @@ "source_location": "L218", "_origin": "ast", "id": "app_schemas_pl_transport_publictransportfeedback", - "community": 45, + "community": 67, "norm_label": "publictransportfeedback" }, { @@ -27280,7 +27390,7 @@ "source_location": "L226", "_origin": "ast", "id": "app_schemas_pl_transport_publictransportplanproductread", - "community": 45, + "community": 67, "norm_label": "publictransportplanproductread" }, { @@ -27290,7 +27400,7 @@ "source_location": "L244", "_origin": "ast", "id": "app_schemas_pl_transport_publictransportpersonnelread", - "community": 45, + "community": 67, "norm_label": "publictransportpersonnelread" }, { @@ -27300,7 +27410,7 @@ "source_location": "L251", "_origin": "ast", "id": "app_schemas_pl_transport_publictransportpageread", - "community": 45, + "community": 67, "norm_label": "publictransportpageread" }, { @@ -27310,7 +27420,7 @@ "source_location": "L281", "_origin": "ast", "id": "app_schemas_pl_transport_publictransportsitepageread", - "community": 45, + "community": 29, "norm_label": "publictransportsitepageread" }, { @@ -27440,7 +27550,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance", - "community": 65, + "community": 81, "norm_label": "vehicle_maintenance.py" }, { @@ -27450,7 +27560,7 @@ "source_location": "L9", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceapplycreate", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceapplycreate" }, { @@ -27460,7 +27570,7 @@ "source_location": "L24", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceapplyupdate", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceapplyupdate" }, { @@ -27480,7 +27590,7 @@ "source_location": "L49", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceapplylistresponse", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceapplylistresponse" }, { @@ -27490,7 +27600,7 @@ "source_location": "L58", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceapplyreminder", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceapplyreminder" }, { @@ -27500,7 +27610,7 @@ "source_location": "L72", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocesscreate", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceprocesscreate" }, { @@ -27510,7 +27620,7 @@ "source_location": "L85", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocesscreate_validate_amount", - "community": 65, + "community": 81, "norm_label": ".validate_amount()" }, { @@ -27520,7 +27630,7 @@ "source_location": "", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_py_decimal", - "community": 65, + "community": 81, "norm_label": "decimal" }, { @@ -27530,7 +27640,7 @@ "source_location": "L91", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocessupdate", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceprocessupdate" }, { @@ -27540,7 +27650,7 @@ "source_location": "L95", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocessread", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceprocessread" }, { @@ -27550,7 +27660,7 @@ "source_location": "L115", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocesslistresponse", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceprocesslistresponse" }, { @@ -27570,7 +27680,7 @@ "source_location": "L147", "_origin": "ast", "id": "app_schemas_pl_vehicle_maintenance_vehiclemaintenanceprocessboardlistresponse", - "community": 65, + "community": 81, "norm_label": "vehiclemaintenanceprocessboardlistresponse" }, { @@ -27580,7 +27690,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge", - "community": 60, + "community": 16, "norm_label": "vehicle_recharge.py" }, { @@ -27590,7 +27700,7 @@ "source_location": "L11", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargeapplycreate", - "community": 60, + "community": 16, "norm_label": "vehiclerechargeapplycreate" }, { @@ -27600,7 +27710,7 @@ "source_location": "L24", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargeapplycreate_validate_recharge_type", - "community": 60, + "community": 16, "norm_label": ".validate_recharge_type()" }, { @@ -27610,7 +27720,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargeapplyupdate", - "community": 60, + "community": 16, "norm_label": "vehiclerechargeapplyupdate" }, { @@ -27630,7 +27740,7 @@ "source_location": "L52", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargeapplylistresponse", - "community": 60, + "community": 93, "norm_label": "vehiclerechargeapplylistresponse" }, { @@ -27640,7 +27750,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargeapplyoption", - "community": 60, + "community": 93, "norm_label": "vehiclerechargeapplyoption" }, { @@ -27650,7 +27760,7 @@ "source_location": "L70", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargerecordcreate", - "community": 60, + "community": 16, "norm_label": "vehiclerechargerecordcreate" }, { @@ -27660,7 +27770,7 @@ "source_location": "L85", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargerecordcreate_validate_recharge_type", - "community": 60, + "community": 16, "norm_label": ".validate_recharge_type()" }, { @@ -27670,7 +27780,7 @@ "source_location": "L92", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargerecordcreate_validate_amount", - "community": 60, + "community": 16, "norm_label": ".validate_amount()" }, { @@ -27680,7 +27790,7 @@ "source_location": "", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_py_decimal", - "community": 60, + "community": 16, "norm_label": "decimal" }, { @@ -27690,7 +27800,7 @@ "source_location": "L98", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargerecordupdate", - "community": 60, + "community": 16, "norm_label": "vehiclerechargerecordupdate" }, { @@ -27710,7 +27820,7 @@ "source_location": "L123", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargerecordlistresponse", - "community": 60, + "community": 93, "norm_label": "vehiclerechargerecordlistresponse" }, { @@ -27730,7 +27840,7 @@ "source_location": "L156", "_origin": "ast", "id": "app_schemas_pl_vehicle_recharge_vehiclerechargedisburseboardlistresponse", - "community": 60, + "community": 93, "norm_label": "vehiclerechargedisburseboardlistresponse" }, { @@ -27820,7 +27930,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_schemas_pl_vehicle_urea_vehicleureaapplylistresponse", - "community": 11, + "community": 62, "norm_label": "vehicleureaapplylistresponse" }, { @@ -27890,7 +28000,7 @@ "source_location": "L144", "_origin": "ast", "id": "app_schemas_pl_vehicle_urea_vehicleureadisburseboardlistresponse", - "community": 11, + "community": 62, "norm_label": "vehicleureadisburseboardlistresponse" }, { @@ -29240,7 +29350,7 @@ "source_location": "L71", "_origin": "ast", "id": "app_services_bx_reimburse_reimburseservice_resolve_applicant", - "community": 14, + "community": 26, "norm_label": ".resolve_applicant()" }, { @@ -29520,7 +29630,7 @@ "source_location": "L1008", "_origin": "ast", "id": "app_services_bx_reimburse_reimburseservice_out_rows_with_attachment_counts", - "community": 14, + "community": 26, "norm_label": ".out_rows_with_attachment_counts()" }, { @@ -29530,7 +29640,7 @@ "source_location": "L1038", "_origin": "ast", "id": "app_services_bx_reimburse_reimburseservice_out_one_with_attachment_counts", - "community": 14, + "community": 26, "norm_label": ".out_one_with_attachment_counts()" }, { @@ -29540,7 +29650,7 @@ "source_location": "L1044", "_origin": "ast", "id": "app_services_bx_reimburse_reimburseservice_build_apply_out_with_details", - "community": 14, + "community": 26, "norm_label": ".build_apply_out_with_details()" }, { @@ -29640,7 +29750,7 @@ "source_location": "L78", "_origin": "ast", "id": "app_services_bx_reimburse_rationale_78", - "community": 14, + "community": 26, "norm_label": "\u89e3\u6790\u62a5\u9500\u7533\u8bf7\u4eba\u3002 \u65e0 changeapplicant \u6743\u9650\u65f6\u5ffd\u7565\u5ba2\u6237\u7aef\u6307\u5b9a,\u5f3a\u5236\u672c\u4eba; \u6709\u6743\u9650\u65f6\u53ef\u6307\u5b9a\u540c\u79df\u6237\u6709\u6548\u7528\u6237\u3002" }, { @@ -30160,7 +30270,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_crm_supplier_hazard", - "community": 21, + "community": 178, "norm_label": "crm_supplier_hazard.py" }, { @@ -30170,7 +30280,7 @@ "source_location": "L12", "_origin": "ast", "id": "app_services_crm_supplier_hazard_product_allowed", - "community": 21, + "community": 178, "norm_label": "product_allowed()" }, { @@ -30180,7 +30290,7 @@ "source_location": "L33", "_origin": "ast", "id": "app_services_crm_supplier_hazard_get_supplier_hazard_flags", - "community": 21, + "community": 178, "norm_label": "get_supplier_hazard_flags()" }, { @@ -30190,7 +30300,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_crm_supplier_hazard_py_session", - "community": 21, + "community": 178, "norm_label": "session" }, { @@ -30200,7 +30310,7 @@ "source_location": "L50", "_origin": "ast", "id": "app_services_crm_supplier_hazard_enrich_products_with_hazard_flags", - "community": 21, + "community": 178, "norm_label": "enrich_products_with_hazard_flags()" }, { @@ -30210,7 +30320,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_crm_supplier_hazard_py_any", - "community": 21, + "community": 178, "norm_label": "any" }, { @@ -30220,7 +30330,7 @@ "source_location": "L83", "_origin": "ast", "id": "app_services_crm_supplier_hazard_assert_products_allowed_for_supplier", - "community": 21, + "community": 178, "norm_label": "assert_products_allowed_for_supplier()" }, { @@ -30230,7 +30340,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_services_crm_supplier_hazard_rationale_54", - "community": 21, + "community": 178, "norm_label": "\u6279\u91cf\u56de\u586b\u660e\u7ec6\u884c istoxic/isexplosive(\u6765\u81ea\u4ea7\u54c1\u4e3b\u6570\u636e,\u4f9b\u524d\u7aef\u5207\u6362\u4e3b\u4f53\u5254\u9664)\u3002" }, { @@ -30580,7 +30690,7 @@ "source_location": "L251", "_origin": "ast", "id": "app_services_db_mappers_parse_date_str", - "community": 61, + "community": 27, "norm_label": "parse_date_str()" }, { @@ -30590,7 +30700,7 @@ "source_location": "L260", "_origin": "ast", "id": "app_services_db_mappers_parse_datetime_str", - "community": 86, + "community": 27, "norm_label": "parse_datetime_str()" }, { @@ -30660,7 +30770,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_db_product_helpers", - "community": 48, + "community": 61, "norm_label": "product_helpers.py" }, { @@ -30670,7 +30780,7 @@ "source_location": "L13", "_origin": "ast", "id": "app_services_db_product_helpers_productsnapshot", - "community": 48, + "community": 61, "norm_label": "productsnapshot" }, { @@ -30680,7 +30790,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_services_db_product_helpers_resolve_crm_product", - "community": 48, + "community": 61, "norm_label": "resolve_crm_product()" }, { @@ -30690,7 +30800,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_db_product_helpers_py_session", - "community": 48, + "community": 61, "norm_label": "session" }, { @@ -30700,7 +30810,7 @@ "source_location": "L51", "_origin": "ast", "id": "app_services_db_product_helpers_apply_product_snapshot_to_plan", - "community": 48, + "community": 61, "norm_label": "apply_product_snapshot_to_plan()" }, { @@ -30730,7 +30840,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_db_product_helpers_rationale_1", - "community": 48, + "community": 61, "norm_label": "\u5730\u78c5\u6a21\u5757 \u2014 crm \u4ea7\u54c1\u89e3\u6790\u4e0e\u5feb\u7167\u5199\u5165\u3002" }, { @@ -30740,7 +30850,7 @@ "source_location": "L20", "_origin": "ast", "id": "app_services_db_product_helpers_rationale_20", - "community": 48, + "community": 61, "norm_label": "\u6821\u9a8c crm \u4ea7\u54c1\u5e76\u8fd4\u56de\u540d\u79f0/\u89c4\u683c\u5feb\u7167\u3002\u65b0\u5efa\u5355\u636e product_id \u5fc5\u586b\u3002" }, { @@ -30820,7 +30930,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_db_data_scope", - "community": 127, + "community": 69, "norm_label": "db_data_scope.py" }, { @@ -30830,7 +30940,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_services_db_data_scope_apply_db_scope", - "community": 127, + "community": 86, "norm_label": "apply_db_scope()" }, { @@ -30840,7 +30950,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_db_data_scope_py_session", - "community": 127, + "community": 86, "norm_label": "session" }, { @@ -30850,7 +30960,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_services_db_data_scope_assert_db_row_in_scope", - "community": 127, + "community": 86, "norm_label": "assert_db_row_in_scope()" }, { @@ -30860,7 +30970,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_db_data_scope_rationale_1", - "community": 127, + "community": 69, "norm_label": "db \u5730\u78c5\u6a21\u5757\u6570\u636e\u6743\u9650\u8f85\u52a9(create_by / create_dept_id)\u3002" }, { @@ -30960,7 +31070,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_carrier_service", - "community": 154, + "community": 107, "norm_label": "pl_carrier_service.py" }, { @@ -30970,7 +31080,7 @@ "source_location": "L10", "_origin": "ast", "id": "app_services_pl_carrier_service_urls_nonempty", - "community": 154, + "community": 107, "norm_label": "_urls_nonempty()" }, { @@ -30980,7 +31090,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_services_pl_carrier_service_carrier_qualification_complete", - "community": 154, + "community": 107, "norm_label": "carrier_qualification_complete()" }, { @@ -30990,7 +31100,7 @@ "source_location": "L22", "_origin": "ast", "id": "app_services_pl_carrier_service_carrier_agreement_expired", - "community": 154, + "community": 107, "norm_label": "carrier_agreement_expired()" }, { @@ -31000,7 +31110,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_carrier_service_py_date", - "community": 154, + "community": 107, "norm_label": "date" }, { @@ -31010,7 +31120,7 @@ "source_location": "L30", "_origin": "ast", "id": "app_services_pl_carrier_service_carrier_audit_approved", - "community": 154, + "community": 107, "norm_label": "carrier_audit_approved()" }, { @@ -31020,7 +31130,7 @@ "source_location": "L34", "_origin": "ast", "id": "app_services_pl_carrier_service_carrier_eligible_for_transport", - "community": 154, + "community": 107, "norm_label": "carrier_eligible_for_transport()" }, { @@ -31030,7 +31140,7 @@ "source_location": "L38", "_origin": "ast", "id": "app_services_pl_carrier_service_assert_carrier_eligible_for_transport", - "community": 154, + "community": 107, "norm_label": "assert_carrier_eligible_for_transport()" }, { @@ -31040,7 +31150,7 @@ "source_location": "L46", "_origin": "ast", "id": "app_services_pl_carrier_service_normalize_carrier_urls", - "community": 97, + "community": 154, "norm_label": "normalize_carrier_urls()" }, { @@ -31050,7 +31160,7 @@ "source_location": "L53", "_origin": "ast", "id": "app_services_pl_carrier_service_validate_carrier_qualification_fields", - "community": 154, + "community": 107, "norm_label": "validate_carrier_qualification_fields()" }, { @@ -31060,7 +31170,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_services_pl_carrier_service_rationale_61", - "community": 154, + "community": 107, "norm_label": "\u8d44\u8d28\u9644\u4ef6\u5747\u4e3a\u9009\u586b,\u4fdd\u7559\u51fd\u6570\u7b7e\u540d\u4f9b\u517c\u5bb9\u8c03\u7528\u3002" }, { @@ -31320,7 +31430,7 @@ "source_location": "L183", "_origin": "ast", "id": "app_services_pl_cert_service_scan_cert_expiry", - "community": 28, + "community": 105, "norm_label": "scan_cert_expiry()" }, { @@ -31340,7 +31450,7 @@ "source_location": "L184", "_origin": "ast", "id": "app_services_pl_cert_service_rationale_184", - "community": 28, + "community": 105, "norm_label": "\u626b\u63cf pl_cert \u751f\u6210\u5230\u671f\u63d0\u9192,\u8fd4\u56de\u65b0\u5efa\u6761\u6570\u3002" }, { @@ -31350,7 +31460,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_data_scope", - "community": 28, + "community": 69, "norm_label": "pl_data_scope.py" }, { @@ -31360,7 +31470,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_services_pl_data_scope_apply_pl_scope", - "community": 28, + "community": 159, "norm_label": "apply_pl_scope()" }, { @@ -31370,7 +31480,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_data_scope_py_session", - "community": 28, + "community": 159, "norm_label": "session" }, { @@ -31380,7 +31490,7 @@ "source_location": "L19", "_origin": "ast", "id": "app_services_pl_data_scope_assert_pl_row_in_scope", - "community": 28, + "community": 0, "norm_label": "assert_pl_row_in_scope()" }, { @@ -31390,7 +31500,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_data_scope_rationale_1", - "community": 28, + "community": 69, "norm_label": "pl \u6a21\u5757\u6570\u636e\u6743\u9650\u8f85\u52a9(create_by / create_dept_id,\u65e0 owner_field)\u3002" }, { @@ -31420,7 +31530,7 @@ "source_location": "L36", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_resolve_partner_company", - "community": 125, + "community": 61, "norm_label": "resolve_partner_company()" }, { @@ -31490,7 +31600,7 @@ "source_location": "L91", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_plan_type_to_business_type", - "community": 61, + "community": 184, "norm_label": "_plan_type_to_business_type()" }, { @@ -31520,7 +31630,7 @@ "source_location": "L117", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_resolve_link_contributed_qty", - "community": 61, + "community": 125, "norm_label": "_resolve_link_contributed_qty()" }, { @@ -31530,7 +31640,7 @@ "source_location": "L128", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_subtract_plan_contribution", - "community": 61, + "community": 125, "norm_label": "_subtract_plan_contribution()" }, { @@ -31600,7 +31710,7 @@ "source_location": "L303", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", - "community": 61, + "community": 125, "norm_label": "revoke_regeneratable_dibang_for_transport()" }, { @@ -31620,7 +31730,7 @@ "source_location": "L485", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_sync_dibang_for_transport", - "community": 45, + "community": 61, "norm_label": "sync_dibang_for_transport()" }, { @@ -31630,7 +31740,7 @@ "source_location": "L37", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_rationale_37", - "community": 125, + "community": 61, "norm_label": "\u6309\u8fd0\u8f93\u8ba1\u5212\u5355\u636e\u7c7b\u578b\u89e3\u6790\u5730\u78c5\u5f80\u6765\u5355\u4f4d(\u4e0d\u533a\u5206 crm \u5408\u540c\u7c7b\u578b)\u3002 - \u5165\u5e93\u5355 inbound:\u4f9b\u65b9 \u2192 party_a,\u5176\u6b21 supplier_nam" }, { @@ -31650,7 +31760,7 @@ "source_location": "L310", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_rationale_310", - "community": 61, + "community": 125, "norm_label": "\u518d\u6b21\u52fe\u9009\u5730\u78c5\u5b89\u6392\u524d:\u8f6f\u5220\u672c\u8fd0\u8f93\u5355\u6b64\u524d\u751f\u6210\u7684\u3001\u4ecd\u53ef\u4f5c\u5e9f\u7684\u51fa\u5165\u5e93\u5355\u53ca\u5173\u8054\u3002 - \u4e0d\u5220\u9664\u5730\u78c5\u6708\u8ba1\u5212(\u53ef\u80fd\u88ab\u5176\u4ed6\u4e1a\u52a1\u590d\u7528) - \u82e5\u51fa\u5165\u5e93\u5355\u5df2\u5b8c\u6210\u7684/\u5df2" }, { @@ -31660,7 +31770,7 @@ "source_location": "L495", "_origin": "ast", "id": "app_services_pl_dibang_bridge_service_rationale_495", - "community": 45, + "community": 61, "norm_label": "\u52fe\u9009\u300c\u751f\u6210\u5730\u78c5\u5355\u300d:\u6309\u4ea7\u54c1\u751f\u6210/\u590d\u7528\u5730\u78c5\u8ba1\u5212,\u5e76\u521b\u5efa\u5173\u8054\u51fa\u5165\u5e93\u5355\u3002" }, { @@ -32330,7 +32440,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_inventory_service", - "community": 38, + "community": 181, "norm_label": "pl_inventory_service.py" }, { @@ -32340,7 +32450,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_services_pl_inventory_service_qty_delta_for_plan", - "community": 38, + "community": 181, "norm_label": "qty_delta_for_plan()" }, { @@ -32350,7 +32460,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_inventory_service_py_decimal", - "community": 38, + "community": 181, "norm_label": "decimal" }, { @@ -32360,7 +32470,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_services_pl_inventory_service_get_or_create_inventory", - "community": 38, + "community": 181, "norm_label": "get_or_create_inventory()" }, { @@ -32370,7 +32480,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_inventory_service_py_session", - "community": 38, + "community": 181, "norm_label": "session" }, { @@ -32380,7 +32490,7 @@ "source_location": "L79", "_origin": "ast", "id": "app_services_pl_inventory_service_apply_brand_stock_change", - "community": 38, + "community": 181, "norm_label": "apply_brand_stock_change()" }, { @@ -32390,7 +32500,7 @@ "source_location": "L139", "_origin": "ast", "id": "app_services_pl_inventory_service_reverse_plan_inventory_postings", - "community": 38, + "community": 181, "norm_label": "reverse_plan_inventory_postings()" }, { @@ -32400,7 +32510,7 @@ "source_location": "L178", "_origin": "ast", "id": "app_services_pl_inventory_service_apply_archive_inventory_for_plan", - "community": 38, + "community": 181, "norm_label": "apply_archive_inventory_for_plan()" }, { @@ -32410,7 +32520,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_inventory_service_rationale_1", - "community": 38, + "community": 181, "norm_label": "\u8ba1\u5212\u5f52\u6863\u6309\u4ea7\u54c1+\u54c1\u724c\u5199\u5165\u5e93\u5b58\u53f0\u8d26\u4e0e\u6d41\u6c34\u3002 \u76f4\u9500\u5355 (direct) \u9996\u671f\u4e0d\u8bb0\u8d26;\u5165\u5e93\u589e\u52a0\u3001\u51fa\u5e93\u6263\u51cf(\u5141\u8bb8\u8d1f\u5e93\u5b58,\u4e0d\u505a\u4e0d\u8db3\u62e6\u622a)\u3002 \u8c03\u6574\u5f52\u6863\u65f6\u5148\u6309 plan_i" }, { @@ -32420,7 +32530,7 @@ "source_location": "L146", "_origin": "ast", "id": "app_services_pl_inventory_service_rationale_146", - "community": 38, + "community": 181, "norm_label": "\u51b2\u9500\u8be5\u8ba1\u5212\u5df2\u4ea7\u751f\u7684\u5e93\u5b58\u6d41\u6c34(\u8c03\u6574\u5f52\u6863\u524d\u8c03\u7528)\u3002" }, { @@ -32430,7 +32540,7 @@ "source_location": "L186", "_origin": "ast", "id": "app_services_pl_inventory_service_rationale_186", - "community": 38, + "community": 181, "norm_label": "\u5f52\u6863\u540e\u6309\u54c1\u724c\u91cf(\u6216\u65e0\u54c1\u724c actual_qty)\u843d\u8d26;\u5148\u51b2\u9500\u65e7\u6d41\u6c34\u518d\u91cd\u8bb0\u3002" }, { @@ -32460,7 +32570,7 @@ "source_location": "L53", "_origin": "ast", "id": "app_services_pl_io_order_service_build_io_order_site_url", - "community": 125, + "community": 174, "norm_label": "build_io_order_site_url()" }, { @@ -32490,7 +32600,7 @@ "source_location": "L70", "_origin": "ast", "id": "app_services_pl_io_order_service_next_order_no", - "community": 125, + "community": 174, "norm_label": "_next_order_no()" }, { @@ -32500,7 +32610,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_io_order_service_py_session", - "community": 125, + "community": 174, "norm_label": "session" }, { @@ -32510,7 +32620,7 @@ "source_location": "L88", "_origin": "ast", "id": "app_services_pl_io_order_service_dibang_qty_by_plan_product", - "community": 125, + "community": 174, "norm_label": "_dibang_qty_by_plan_product()" }, { @@ -32520,7 +32630,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_io_order_service_py_decimal", - "community": 125, + "community": 174, "norm_label": "decimal" }, { @@ -32530,7 +32640,7 @@ "source_location": "L120", "_origin": "ast", "id": "app_services_pl_io_order_service_create_io_order_for_transport", - "community": 125, + "community": 174, "norm_label": "create_io_order_for_transport()" }, { @@ -32540,7 +32650,7 @@ "source_location": "L202", "_origin": "ast", "id": "app_services_pl_io_order_service_apply_dibang_prefill_to_order", - "community": 125, + "community": 174, "norm_label": "apply_dibang_prefill_to_order()" }, { @@ -32560,7 +32670,7 @@ "source_location": "L271", "_origin": "ast", "id": "app_services_pl_io_order_service_get_active_io_order_for_plan", - "community": 125, + "community": 174, "norm_label": "get_active_io_order_for_plan()" }, { @@ -32570,7 +32680,7 @@ "source_location": "", "_origin": "ast", "id": "orderheader", - "community": 125, + "community": 174, "norm_label": "orderheader" }, { @@ -32610,7 +32720,7 @@ "source_location": "L326", "_origin": "ast", "id": "app_services_pl_io_order_service_update_io_order_items_qty_and_brand", - "community": 125, + "community": 183, "norm_label": "update_io_order_items_qty_and_brand()" }, { @@ -32620,7 +32730,7 @@ "source_location": "", "_origin": "ast", "id": "orderitem", - "community": 125, + "community": 183, "norm_label": "orderitem" }, { @@ -32630,7 +32740,7 @@ "source_location": "L416", "_origin": "ast", "id": "app_services_pl_io_order_service_apply_site_feedback", - "community": 125, + "community": 183, "norm_label": "apply_site_feedback()" }, { @@ -32710,7 +32820,7 @@ "source_location": "L866", "_origin": "ast", "id": "app_services_pl_io_order_service_order_header_to_dict", - "community": 125, + "community": 54, "norm_label": "order_header_to_dict()" }, { @@ -32730,7 +32840,7 @@ "source_location": "L131", "_origin": "ast", "id": "app_services_pl_io_order_service_rationale_131", - "community": 125, + "community": 174, "norm_label": "\u5b89\u6392\u8fd0\u8f93\u540e\u521b\u5efa\u5165\u5e93/\u51fa\u5e93\u5355\u3002\u76f4\u9500\u8fd4\u56de none\u3002" }, { @@ -32740,7 +32850,7 @@ "source_location": "L209", "_origin": "ast", "id": "app_services_pl_io_order_service_rationale_209", - "community": 125, + "community": 174, "norm_label": "\u5730\u78c5\u5355\u751f\u6210\u540e,\u7528\u6570\u91cf\u9884\u586b\u5c1a\u672a\u88ab\u73b0\u573a\u6539\u8fc7\u7684\u660e\u7ec6 actual_qty\u3002" }, { @@ -32750,7 +32860,7 @@ "source_location": "L338", "_origin": "ast", "id": "app_services_pl_io_order_service_rationale_338", - "community": 125, + "community": 183, "norm_label": "\u66f4\u65b0\u660e\u7ec6\u5b9e\u9645\u6570\u91cf,\u5e76\u6309\u9700\u6821\u9a8c/\u6301\u4e45\u5316\u73b0\u573a\u54c1\u724c\u6570\u91cf\u3002" }, { @@ -32770,7 +32880,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_menu_badge_service", - "community": 28, + "community": 159, "norm_label": "pl_menu_badge_service.py" }, { @@ -32780,7 +32890,7 @@ "source_location": "L44", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_pending_applies", - "community": 28, + "community": 159, "norm_label": "_count_pending_applies()" }, { @@ -32790,7 +32900,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_menu_badge_service_py_session", - "community": 28, + "community": 159, "norm_label": "session" }, { @@ -32800,7 +32910,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_document_reminder_expired_pending", - "community": 28, + "community": 159, "norm_label": "count_document_reminder_expired_pending()" }, { @@ -32810,7 +32920,7 @@ "source_location": "L67", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_freight_approval_pending", - "community": 28, + "community": 159, "norm_label": "count_freight_approval_pending()" }, { @@ -32820,7 +32930,7 @@ "source_location": "L86", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_plan_cert_pending", - "community": 28, + "community": 159, "norm_label": "count_plan_cert_pending()" }, { @@ -32830,7 +32940,7 @@ "source_location": "L120", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_plan_archive_pending", - "community": 28, + "community": 159, "norm_label": "count_plan_archive_pending()" }, { @@ -32840,7 +32950,7 @@ "source_location": "L131", "_origin": "ast", "id": "app_services_pl_menu_badge_service_count_freight_disburse_pending", - "community": 28, + "community": 159, "norm_label": "count_freight_disburse_pending()" }, { @@ -32850,7 +32960,7 @@ "source_location": "L141", "_origin": "ast", "id": "app_services_pl_menu_badge_service_build_menu_badge_counts", - "community": 28, + "community": 159, "norm_label": "build_menu_badge_counts()" }, { @@ -33120,7 +33230,7 @@ "source_location": "L68", "_origin": "ast", "id": "app_services_pl_paste_recognize_service_get_personnel", - "community": 105, + "community": 154, "norm_label": "_get_personnel()" }, { @@ -33157,7 +33267,7 @@ "label": "commit_paste_recognize()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L221", + "source_location": "L222", "_origin": "ast", "id": "app_services_pl_paste_recognize_service_commit_paste_recognize", "community": 68, @@ -33170,7 +33280,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_personnel_service", - "community": 67, + "community": 68, "norm_label": "pl_personnel_service.py" }, { @@ -33180,7 +33290,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_services_pl_personnel_service_upsert_personnel", - "community": 67, + "community": 68, "norm_label": "upsert_personnel()" }, { @@ -33190,7 +33300,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_personnel_service_py_session", - "community": 67, + "community": 68, "norm_label": "session" }, { @@ -33210,7 +33320,7 @@ "source_location": "L140", "_origin": "ast", "id": "app_services_pl_personnel_service_build_personnel_summary", - "community": 67, + "community": 68, "norm_label": "build_personnel_summary()" }, { @@ -33220,7 +33330,7 @@ "source_location": "L157", "_origin": "ast", "id": "app_services_pl_personnel_service_load_vehicle_personnel_rows", - "community": 67, + "community": 68, "norm_label": "load_vehicle_personnel_rows()" }, { @@ -33230,7 +33340,7 @@ "source_location": "L190", "_origin": "ast", "id": "app_services_pl_personnel_service_load_vehicle_personnel_summaries", - "community": 67, + "community": 68, "norm_label": "load_vehicle_personnel_summaries()" }, { @@ -33240,7 +33350,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_personnel_service_rationale_1", - "community": 67, + "community": 68, "norm_label": "\u8fd0\u8f93\u8ba1\u5212 - \u4eba\u5458 upsert \u4e0e\u8f66\u8f86-\u4eba\u5458\u5173\u8054\u4fdd\u5b58" }, { @@ -33250,7 +33360,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_services_pl_personnel_service_rationale_23", - "community": 67, + "community": 68, "norm_label": "\u6309 personnelid \u2192 phone \u2192 name \u5f31\u5339\u914d upsert,\u8fd4\u56de personnel_id\u3002" }, { @@ -33260,7 +33370,7 @@ "source_location": "L143", "_origin": "ast", "id": "app_services_pl_personnel_service_rationale_143", - "community": 67, + "community": 68, "norm_label": "links: [(personnel_name, role, is_default)] \u2192 (summary, default_driver_name)." }, { @@ -33270,7 +33380,7 @@ "source_location": "L193", "_origin": "ast", "id": "app_services_pl_personnel_service_rationale_193", - "community": 67, + "community": 68, "norm_label": "\u6279\u91cf\u52a0\u8f7d personnelsummary / defaultdrivername\u3002" }, { @@ -33400,7 +33510,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_plan_service_py_session", - "community": 179, + "community": 51, "norm_label": "session" }, { @@ -33430,7 +33540,7 @@ "source_location": "L234", "_origin": "ast", "id": "app_services_pl_plan_service_fetch_hazard_flags_map", - "community": 179, + "community": 51, "norm_label": "fetch_hazard_flags_map()" }, { @@ -33440,7 +33550,7 @@ "source_location": "L260", "_origin": "ast", "id": "app_services_pl_plan_service_resolve_hazard_flags_from_crm", - "community": 179, + "community": 51, "norm_label": "resolve_hazard_flags_from_crm()" }, { @@ -33450,7 +33560,7 @@ "source_location": "L288", "_origin": "ast", "id": "app_services_pl_plan_service_plan_has_hazard_products", - "community": 179, + "community": 51, "norm_label": "plan_has_hazard_products()" }, { @@ -33460,7 +33570,7 @@ "source_location": "L296", "_origin": "ast", "id": "app_services_pl_plan_service_collect_hazard_product_ids", - "community": 179, + "community": 51, "norm_label": "collect_hazard_product_ids()" }, { @@ -33470,7 +33580,7 @@ "source_location": "L321", "_origin": "ast", "id": "app_services_pl_plan_service_clear_hazard_cert_ready", - "community": 179, + "community": 51, "norm_label": "clear_hazard_cert_ready()" }, { @@ -33530,7 +33640,7 @@ "source_location": "L417", "_origin": "ast", "id": "app_services_pl_plan_service_set_hazard_cert_ready", - "community": 179, + "community": 51, "norm_label": "set_hazard_cert_ready()" }, { @@ -33540,7 +33650,7 @@ "source_location": "L467", "_origin": "ast", "id": "app_services_pl_plan_service_update_plan_product_certs", - "community": 179, + "community": 51, "norm_label": "update_plan_product_certs()" }, { @@ -33590,7 +33700,7 @@ "source_location": "L778", "_origin": "ast", "id": "app_services_pl_plan_service_clear_draft_transport_for_plan", - "community": 179, + "community": 51, "norm_label": "clear_draft_transport_for_plan()" }, { @@ -33630,7 +33740,7 @@ "source_location": "L979", "_origin": "ast", "id": "app_services_pl_plan_service_assert_contract_selectable_for_plan", - "community": 179, + "community": 51, "norm_label": "assert_contract_selectable_for_plan()" }, { @@ -33650,7 +33760,7 @@ "source_location": "L1023", "_origin": "ast", "id": "app_services_pl_plan_service_calc_plan_total_amount", - "community": 179, + "community": 51, "norm_label": "calc_plan_total_amount()" }, { @@ -33660,7 +33770,7 @@ "source_location": "L1034", "_origin": "ast", "id": "app_services_pl_plan_service_transport_has_locked_freight_settlement", - "community": 179, + "community": 51, "norm_label": "transport_has_locked_freight_settlement()" }, { @@ -33690,7 +33800,7 @@ "source_location": "L1175", "_origin": "ast", "id": "app_services_pl_plan_service_apply_archive_freight", - "community": 179, + "community": 51, "norm_label": "apply_archive_freight()" }, { @@ -33730,7 +33840,7 @@ "source_location": "L239", "_origin": "ast", "id": "app_services_pl_plan_service_rationale_239", - "community": 179, + "community": 51, "norm_label": "\u6279\u91cf\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002" }, { @@ -33740,7 +33850,7 @@ "source_location": "L267", "_origin": "ast", "id": "app_services_pl_plan_service_rationale_267", - "community": 179, + "community": 51, "norm_label": "\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6(\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167)\u3002" }, { @@ -33800,7 +33910,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_product_display", - "community": 174, + "community": 29, "norm_label": "pl_product_display.py" }, { @@ -33810,7 +33920,7 @@ "source_location": "L11", "_origin": "ast", "id": "app_services_pl_product_display_resolve_alias_from_saved_name", - "community": 174, + "community": 29, "norm_label": "resolve_alias_from_saved_name()" }, { @@ -33820,7 +33930,7 @@ "source_location": "L26", "_origin": "ast", "id": "app_services_pl_product_display_load_crm_product_alias_maps", - "community": 174, + "community": 29, "norm_label": "load_crm_product_alias_maps()" }, { @@ -33830,7 +33940,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_product_display_py_session", - "community": 174, + "community": 29, "norm_label": "session" }, { @@ -33840,7 +33950,7 @@ "source_location": "L74", "_origin": "ast", "id": "app_services_pl_product_display_resolve_product_display_names", - "community": 174, + "community": 29, "norm_label": "resolve_product_display_names()" }, { @@ -33850,7 +33960,7 @@ "source_location": "L94", "_origin": "ast", "id": "app_services_pl_product_display_apply_product_alias_display", - "community": 174, + "community": 29, "norm_label": "apply_product_alias_display()" }, { @@ -33860,7 +33970,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_product_display_rationale_1", - "community": 174, + "community": 29, "norm_label": "\u8fd0\u8f93\u8ba1\u5212\u4ea7\u54c1\u5c55\u793a:\u6807\u51c6\u540d / \u522b\u540d\u62c6\u5206(\u4e0e\u524d\u7aef applyaliasdisplaymeta \u5bf9\u9f50)" }, { @@ -33870,7 +33980,7 @@ "source_location": "L16", "_origin": "ast", "id": "app_services_pl_product_display_rationale_16", - "community": 174, + "community": 29, "norm_label": "\u4ece\u5df2\u5b58 productname \u53cd\u63a8\u522b\u540d;\u7b49\u4e8e\u6807\u51c6\u540d\u6216\u4e0d\u5728\u522b\u540d\u5217\u8868 \u2192 none\u3002" }, { @@ -33880,7 +33990,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_services_pl_product_display_rationale_32", - "community": 174, + "community": 29, "norm_label": "\u6279\u91cf\u52a0\u8f7d crm \u6807\u51c6\u540d\u4e0e\u522b\u540d\u9009\u9879\u3002\u8fd4\u56de (standard_name_by_id, alias_options_by_id)\u3002" }, { @@ -33890,7 +34000,7 @@ "source_location": "L81", "_origin": "ast", "id": "app_services_pl_product_display_rationale_81", - "community": 174, + "community": 29, "norm_label": "\u8fd4\u56de (\u5c55\u793a\u7528\u4ea7\u54c1\u540d\u79f0, \u522b\u540d)\u3002 \u4ea7\u54c1\u540d\u79f0\u4f18\u5148 crm \u6807\u51c6\u540d;\u522b\u540d\u4ec5\u5728\u5df2\u5b58\u540d\u547d\u4e2d\u522b\u540d\u5217\u8868\u65f6\u8fd4\u56de\u3002" }, { @@ -33900,7 +34010,7 @@ "source_location": "L102", "_origin": "ast", "id": "app_services_pl_product_display_rationale_102", - "community": 174, + "community": 29, "norm_label": "\u5c31\u5730\u5199\u5165 item \u7684 productname(\u6807\u51c6\u540d)\u4e0e aliasname\u3002" }, { @@ -33960,7 +34070,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service", - "community": 67, + "community": 105, "norm_label": "pl_transport_resource_snapshot_service.py" }, { @@ -33970,7 +34080,7 @@ "source_location": "L24", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service_cert_to_snapshot", - "community": 67, + "community": 105, "norm_label": "_cert_to_snapshot()" }, { @@ -33980,7 +34090,7 @@ "source_location": "L40", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service_build_transport_resource_snapshot", - "community": 67, + "community": 105, "norm_label": "build_transport_resource_snapshot()" }, { @@ -33990,7 +34100,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service_py_session", - "community": 67, + "community": 105, "norm_label": "session" }, { @@ -34020,7 +34130,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service_rationale_1", - "community": 67, + "community": 105, "norm_label": "\u8fd0\u8f93\u8ba1\u5212 - \u5b89\u6392\u8fd0\u8f93\u65f6\u8f66\u8f86/\u4eba\u5458/\u8bc1\u4ef6\u8d44\u6e90\u5feb\u7167" }, { @@ -34030,7 +34140,7 @@ "source_location": "L47", "_origin": "ast", "id": "app_services_pl_transport_resource_snapshot_service_rationale_47", - "community": 67, + "community": 105, "norm_label": "\u8bfb\u53d6\u8f66\u8f86\u5f53\u524d\u4e3b\u6570\u636e,\u751f\u6210\u5b89\u6392\u8fd0\u8f93\u7528\u6574\u5305\u5feb\u7167\u3002" }, { @@ -34050,7 +34160,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_transport_site_service", - "community": 61, + "community": 184, "norm_label": "pl_transport_site_service.py" }, { @@ -34060,7 +34170,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_services_pl_transport_site_service_transportsitelinkresult", - "community": 125, + "community": 184, "norm_label": "transportsitelinkresult" }, { @@ -34070,7 +34180,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_services_pl_transport_site_service_normalize_plan_date", - "community": 61, + "community": 184, "norm_label": "_normalize_plan_date()" }, { @@ -34080,7 +34190,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_transport_site_service_py_date", - "community": 61, + "community": 184, "norm_label": "date" }, { @@ -34090,7 +34200,7 @@ "source_location": "L43", "_origin": "ast", "id": "app_services_pl_transport_site_service_revoke_site_links_for_transport", - "community": 179, + "community": 184, "norm_label": "revoke_site_links_for_transport()" }, { @@ -34100,7 +34210,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_pl_transport_site_service_py_session", - "community": 125, + "community": 184, "norm_label": "session" }, { @@ -34110,7 +34220,7 @@ "source_location": "L67", "_origin": "ast", "id": "app_services_pl_transport_site_service_sync_site_links_for_transport", - "community": 125, + "community": 184, "norm_label": "sync_site_links_for_transport()" }, { @@ -34120,7 +34230,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_pl_transport_site_service_rationale_1", - "community": 61, + "community": 184, "norm_label": "\u8fd0\u8f93\u8ba1\u5212 \u00b7 \u5de5\u5382\u73b0\u573a\u94fe\u63a5(\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5355\u89e3\u8026)" }, { @@ -34130,7 +34240,7 @@ "source_location": "L77", "_origin": "ast", "id": "app_services_pl_transport_site_service_rationale_77", - "community": 125, + "community": 184, "norm_label": "\u5165\u5e93/\u51fa\u5e93\u5b89\u6392\u8fd0\u8f93:\u6309\u4ea7\u54c1\u751f\u6210\u73b0\u573a\u94fe\u63a5(\u4e0d\u5199 db_inbound_outbound)\u3002" }, { @@ -35010,7 +35120,7 @@ "source_location": "L13", "_origin": "ast", "id": "app_services_web_auth_roles_map_role_name_to_web", - "community": 3, + "community": 110, "norm_label": "_map_role_name_to_web()" }, { @@ -35050,7 +35160,7 @@ "source_location": "L53", "_origin": "ast", "id": "app_services_web_auth_roles_resolve_web_role_for_user", - "community": 19, + "community": 110, "norm_label": "resolve_web_role_for_user()" }, { @@ -35100,7 +35210,7 @@ "source_location": "L14", "_origin": "ast", "id": "app_services_web_auth_roles_rationale_14", - "community": 3, + "community": 110, "norm_label": "\u5c06 sys_role.role_name \u6620\u5c04\u4e3a web-admin \u4f7f\u7528\u7684 role \u5b57\u7b26\u4e32\u3002" }, { @@ -35120,7 +35230,7 @@ "source_location": "L54", "_origin": "ast", "id": "app_services_web_auth_roles_rationale_54", - "community": 19, + "community": 110, "norm_label": "\u6839\u636e\u7528\u6237\u5173\u8054\u89d2\u8272\u89e3\u6790 web \u7aef role(admin / super_admin)\u3002" }, { @@ -35150,7 +35260,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_workflow_callback", - "community": 130, + "community": 36, "norm_label": "workflow_callback.py" }, { @@ -35160,7 +35270,7 @@ "source_location": "L23", "_origin": "ast", "id": "app_services_workflow_callback_register_local_callback", - "community": 160, + "community": 36, "norm_label": "register_local_callback()" }, { @@ -35170,7 +35280,7 @@ "source_location": "", "_origin": "ast", "id": "localcallbackfn", - "community": 160, + "community": 36, "norm_label": "_localcallbackfn" }, { @@ -35180,7 +35290,7 @@ "source_location": "L28", "_origin": "ast", "id": "app_services_workflow_callback_dispatch_local", - "community": 130, + "community": 36, "norm_label": "_dispatch_local()" }, { @@ -35190,7 +35300,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_workflow_callback_py_any", - "community": 130, + "community": 36, "norm_label": "any" }, { @@ -35200,7 +35310,7 @@ "source_location": "L60", "_origin": "ast", "id": "app_services_workflow_callback_trigger_callback", - "community": 130, + "community": 36, "norm_label": "trigger_callback()" }, { @@ -35210,7 +35320,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_workflow_callback_rationale_1", - "community": 130, + "community": 36, "norm_label": "\u5de5\u4f5c\u6d41\u56de\u8c03\u670d\u52a1 \u2014\u2014 \u6d41\u7a0b\u72b6\u6001\u53d8\u66f4\u65f6\u901a\u77e5\u4e1a\u52a1\u7cfb\u7edf" }, { @@ -35220,7 +35330,7 @@ "source_location": "L24", "_origin": "ast", "id": "app_services_workflow_callback_rationale_24", - "community": 160, + "community": 36, "norm_label": "\u6ce8\u518c\u672c\u5730\u56de\u8c03\u51fd\u6570\u3002\u5f53 callback_url \u4ee5 path \u5f00\u5934\u65f6\u76f4\u63a5\u8c03\u7528 fn\u3002" }, { @@ -35230,7 +35340,7 @@ "source_location": "L29", "_origin": "ast", "id": "app_services_workflow_callback_rationale_29", - "community": 130, + "community": 36, "norm_label": "\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03\u3002\u8fd4\u56de true \u8868\u793a\u5df2\u5904\u7406,false \u8868\u793a\u65e0\u5339\u914d\u7684\u672c\u5730\u56de\u8c03\u3002" }, { @@ -35240,7 +35350,7 @@ "source_location": "L61", "_origin": "ast", "id": "app_services_workflow_callback_rationale_61", - "community": 130, + "community": 36, "norm_label": "\u6d41\u7a0b\u5b9e\u4f8b\u72b6\u6001\u53d8\u66f4\u540e,\u5411\u4e1a\u52a1\u7cfb\u7edf\u53d1\u9001\u56de\u8c03\u901a\u77e5\u3002 \u4f18\u5148\u7ea7: 1. \u5982\u679c callback_url \u662f\u5185\u90e8\u8def\u5f84(\u4ee5 / \u5f00\u5934),\u4f18\u5148\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03" }, { @@ -35250,7 +35360,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_workflow_engine", - "community": 130, + "community": 36, "norm_label": "workflow_engine.py" }, { @@ -35260,7 +35370,7 @@ "source_location": "L31", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine", - "community": 130, + "community": 36, "norm_label": "workflowengine" }, { @@ -35270,7 +35380,7 @@ "source_location": "L32", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_init", - "community": 130, + "community": 36, "norm_label": ".__init__()" }, { @@ -35280,7 +35390,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_workflow_engine_py_session", - "community": 130, + "community": 36, "norm_label": "session" }, { @@ -35290,7 +35400,7 @@ "source_location": "L39", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_start_process", - "community": 130, + "community": 36, "norm_label": ".start_process()" }, { @@ -35300,7 +35410,7 @@ "source_location": "", "_origin": "ast", "id": "app_services_workflow_engine_py_any", - "community": 130, + "community": 36, "norm_label": "any" }, { @@ -35310,7 +35420,7 @@ "source_location": "L77", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_approve_task", - "community": 130, + "community": 36, "norm_label": ".approve_task()" }, { @@ -35320,7 +35430,7 @@ "source_location": "L126", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_reject_task", - "community": 130, + "community": 36, "norm_label": ".reject_task()" }, { @@ -35330,7 +35440,7 @@ "source_location": "L160", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_advance", - "community": 130, + "community": 36, "norm_label": "._advance()" }, { @@ -35340,7 +35450,7 @@ "source_location": "L201", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_execute_node", - "community": 130, + "community": 36, "norm_label": "._execute_node()" }, { @@ -35350,7 +35460,7 @@ "source_location": "L238", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_resolve_approvers", - "community": 130, + "community": 36, "norm_label": "._resolve_approvers()" }, { @@ -35360,7 +35470,7 @@ "source_location": "L284", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_evaluate_condition", - "community": 130, + "community": 36, "norm_label": "._evaluate_condition()" }, { @@ -35370,7 +35480,7 @@ "source_location": "L306", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_check_rules", - "community": 130, + "community": 36, "norm_label": "._check_rules()" }, { @@ -35380,7 +35490,7 @@ "source_location": "L330", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_compare", - "community": 130, + "community": 36, "norm_label": "._compare()" }, { @@ -35390,7 +35500,7 @@ "source_location": "L359", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_get_variable", - "community": 130, + "community": 36, "norm_label": "._get_variable()" }, { @@ -35400,7 +35510,7 @@ "source_location": "L374", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_parse_node_config", - "community": 130, + "community": 36, "norm_label": "._parse_node_config()" }, { @@ -35410,7 +35520,7 @@ "source_location": "L383", "_origin": "ast", "id": "app_services_workflow_engine_workflowengine_parse_variables", - "community": 130, + "community": 36, "norm_label": "._parse_variables()" }, { @@ -35420,7 +35530,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_services_workflow_engine_rationale_1", - "community": 130, + "community": 36, "norm_label": "\u5de5\u4f5c\u6d41\u5f15\u64ce \u2014\u2014 \u8bfb\u53d6\u8282\u70b9\u4e0e\u8fde\u7ebf\u6267\u884c\u5ba1\u6279\u6d41\u8f6c" }, { @@ -35580,7 +35690,7 @@ "source_location": "L1", "_origin": "ast", "id": "app_tasks_pl_cert_expiry", - "community": 28, + "community": 105, "norm_label": "pl_cert_expiry.py" }, { @@ -35590,7 +35700,7 @@ "source_location": "L10", "_origin": "ast", "id": "app_tasks_pl_cert_expiry_scan_pl_cert_expiry_job", - "community": 28, + "community": 105, "norm_label": "scan_pl_cert_expiry_job()" }, { @@ -35600,7 +35710,7 @@ "source_location": "L11", "_origin": "ast", "id": "app_tasks_pl_cert_expiry_rationale_11", - "community": 28, + "community": 105, "norm_label": "\u6bcf\u65e5\u626b\u63cf pl_cert,\u751f\u6210\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u3002" }, { @@ -36350,7 +36460,7 @@ "source_location": "L1", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name", - "community": 21, + "community": 191, "norm_label": "migrate_20260727_split_brand_from_product_name.py" }, { @@ -36360,7 +36470,7 @@ "source_location": "L39", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_parse_name", - "community": 21, + "community": 191, "norm_label": "parse_name()" }, { @@ -36370,7 +36480,7 @@ "source_location": "L51", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_collect_candidates", - "community": 21, + "community": 191, "norm_label": "collect_candidates()" }, { @@ -36380,7 +36490,7 @@ "source_location": "L77", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_write_csv", - "community": 21, + "community": 191, "norm_label": "write_csv()" }, { @@ -36390,7 +36500,7 @@ "source_location": "", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_py_path", - "community": 21, + "community": 191, "norm_label": "path" }, { @@ -36400,7 +36510,7 @@ "source_location": "L88", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_apply_updates", - "community": 21, + "community": 191, "norm_label": "apply_updates()" }, { @@ -36410,7 +36520,7 @@ "source_location": "L133", "_origin": "ast", "id": "scripts_migrate_20260727_split_brand_from_product_name_main", - "community": 21, + "community": 191, "norm_label": "main()" }, { @@ -37220,7 +37330,7 @@ "source_location": "L166", "_origin": "ast", "id": "scripts_migrate_crm_contract_normalize_attachment_csv", - "community": 42, + "community": 139, "norm_label": "normalize_attachment_csv()" }, { @@ -38280,7 +38390,7 @@ "source_location": "L1", "_origin": "ast", "id": "scripts_migrate_crm_product", - "community": 62, + "community": 97, "norm_label": "migrate_crm_product.py" }, { @@ -38290,7 +38400,7 @@ "source_location": "L55", "_origin": "ast", "id": "scripts_migrate_crm_product_migrationstats", - "community": 62, + "community": 97, "norm_label": "migrationstats" }, { @@ -38300,7 +38410,7 @@ "source_location": "L63", "_origin": "ast", "id": "scripts_migrate_crm_product_legacy_id_to_str", - "community": 62, + "community": 97, "norm_label": "legacy_id_to_str()" }, { @@ -38310,7 +38420,7 @@ "source_location": "", "_origin": "ast", "id": "scripts_migrate_crm_product_py_any", - "community": 62, + "community": 97, "norm_label": "any" }, { @@ -38320,7 +38430,7 @@ "source_location": "L72", "_origin": "ast", "id": "scripts_migrate_crm_product_derive_source_url", - "community": 62, + "community": 97, "norm_label": "derive_source_url()" }, { @@ -38330,7 +38440,7 @@ "source_location": "L76", "_origin": "ast", "id": "scripts_migrate_crm_product_load_settings_env", - "community": 62, + "community": 97, "norm_label": "load_settings_env()" }, { @@ -38340,7 +38450,7 @@ "source_location": "L92", "_origin": "ast", "id": "scripts_migrate_crm_product_load_runtime_settings", - "community": 62, + "community": 97, "norm_label": "load_runtime_settings()" }, { @@ -38350,7 +38460,7 @@ "source_location": "L98", "_origin": "ast", "id": "scripts_migrate_crm_product_load_user_mapping", - "community": 62, + "community": 97, "norm_label": "load_user_mapping()" }, { @@ -38360,7 +38470,7 @@ "source_location": "", "_origin": "ast", "id": "scripts_migrate_crm_product_py_path", - "community": 62, + "community": 97, "norm_label": "path" }, { @@ -38370,7 +38480,7 @@ "source_location": "L116", "_origin": "ast", "id": "scripts_migrate_crm_product_fetch_portal_admin_id", - "community": 62, + "community": 97, "norm_label": "fetch_portal_admin_id()" }, { @@ -38380,7 +38490,7 @@ "source_location": "", "_origin": "ast", "id": "scripts_migrate_crm_product_py_engine", - "community": 62, + "community": 97, "norm_label": "engine" }, { @@ -38390,7 +38500,7 @@ "source_location": "L124", "_origin": "ast", "id": "scripts_migrate_crm_product_resolve_portal_user_id", - "community": 62, + "community": 97, "norm_label": "resolve_portal_user_id()" }, { @@ -38400,7 +38510,7 @@ "source_location": "L146", "_origin": "ast", "id": "scripts_migrate_crm_product_fetch_source_rows", - "community": 62, + "community": 97, "norm_label": "fetch_source_rows()" }, { @@ -38410,7 +38520,7 @@ "source_location": "L153", "_origin": "ast", "id": "scripts_migrate_crm_product_count_target_rows", - "community": 62, + "community": 97, "norm_label": "count_target_rows()" }, { @@ -38420,7 +38530,7 @@ "source_location": "L166", "_origin": "ast", "id": "scripts_migrate_crm_product_dec", - "community": 62, + "community": 97, "norm_label": "_dec()" }, { @@ -38430,7 +38540,7 @@ "source_location": "", "_origin": "ast", "id": "scripts_migrate_crm_product_py_decimal", - "community": 62, + "community": 97, "norm_label": "decimal" }, { @@ -38440,7 +38550,7 @@ "source_location": "L172", "_origin": "ast", "id": "scripts_migrate_crm_product_transform_row", - "community": 62, + "community": 97, "norm_label": "transform_row()" }, { @@ -38450,7 +38560,7 @@ "source_location": "L254", "_origin": "ast", "id": "scripts_migrate_crm_product_target_row_exists", - "community": 62, + "community": 97, "norm_label": "target_row_exists()" }, { @@ -38460,7 +38570,7 @@ "source_location": "L260", "_origin": "ast", "id": "scripts_migrate_crm_product_write_mapping_csv", - "community": 62, + "community": 97, "norm_label": "write_mapping_csv()" }, { @@ -38470,7 +38580,7 @@ "source_location": "L283", "_origin": "ast", "id": "scripts_migrate_crm_product_print_report", - "community": 62, + "community": 97, "norm_label": "print_report()" }, { @@ -38480,7 +38590,7 @@ "source_location": "L296", "_origin": "ast", "id": "scripts_migrate_crm_product_clear_target_products", - "community": 62, + "community": 97, "norm_label": "clear_target_products()" }, { @@ -38490,7 +38600,7 @@ "source_location": "L306", "_origin": "ast", "id": "scripts_migrate_crm_product_run_migration", - "community": 62, + "community": 97, "norm_label": "run_migration()" }, { @@ -38500,7 +38610,7 @@ "source_location": "L361", "_origin": "ast", "id": "scripts_migrate_crm_product_main", - "community": 62, + "community": 97, "norm_label": "main()" }, { @@ -38940,7 +39050,7 @@ "source_location": "L176", "_origin": "ast", "id": "scripts_migrate_crm_quote_normalize_attachment_csv", - "community": 88, + "community": 139, "norm_label": "normalize_attachment_csv()" }, { @@ -40000,7 +40110,7 @@ "source_location": "L1", "_origin": "ast", "id": "scripts_migration_minio_url", - "community": 159, + "community": 139, "norm_label": "minio_url.py" }, { @@ -40010,7 +40120,7 @@ "source_location": "L39", "_origin": "ast", "id": "scripts_migration_minio_url_strip_url_query", - "community": 159, + "community": 139, "norm_label": "strip_url_query()" }, { @@ -40020,7 +40130,7 @@ "source_location": "L47", "_origin": "ast", "id": "scripts_migration_minio_url_strip_legacy_prefix", - "community": 159, + "community": 139, "norm_label": "_strip_legacy_prefix()" }, { @@ -40030,7 +40140,7 @@ "source_location": "L55", "_origin": "ast", "id": "scripts_migration_minio_url_extract_minio_object_key", - "community": 159, + "community": 139, "norm_label": "extract_minio_object_key()" }, { @@ -40040,7 +40150,7 @@ "source_location": "L83", "_origin": "ast", "id": "scripts_migration_minio_url_normalize_oss_storage_url", - "community": 159, + "community": 72, "norm_label": "normalize_oss_storage_url()" }, { @@ -40050,7 +40160,7 @@ "source_location": "L96", "_origin": "ast", "id": "scripts_migration_minio_url_join_relative_urls", - "community": 159, + "community": 139, "norm_label": "join_relative_urls()" }, { @@ -40060,7 +40170,7 @@ "source_location": "L109", "_origin": "ast", "id": "scripts_migration_minio_url_resolve_oss_id_csv", - "community": 159, + "community": 139, "norm_label": "resolve_oss_id_csv()" }, { @@ -40070,7 +40180,7 @@ "source_location": "L1", "_origin": "ast", "id": "scripts_migration_minio_url_rationale_1", - "community": 159, + "community": 139, "norm_label": "minio \u9644\u4ef6 url \u89c4\u8303\u5316(\u6570\u636e\u8fc1\u79fb\u5171\u7528)\u3002 \u80cc\u666f ---- crm / \u5730\u78c5 / \u62a5\u9500\u4e0e shanxia2.0 \u5171\u7528\u540c\u4e00 minio(bucket \u9ed8" }, { @@ -40080,7 +40190,7 @@ "source_location": "L40", "_origin": "ast", "id": "scripts_migration_minio_url_rationale_40", - "community": 159, + "community": 139, "norm_label": "\u53bb\u6389\u9884\u7b7e\u540d query(``?x-amz-...``)\u3002" }, { @@ -40090,7 +40200,7 @@ "source_location": "L61", "_origin": "ast", "id": "scripts_migration_minio_url_rationale_61", - "community": 159, + "community": 139, "norm_label": "\u5c06\u7edd\u5bf9/\u76f8\u5bf9 url \u89c4\u8303\u4e3a minio object key(\u4e0d\u542b bucket)\u3002" }, { @@ -40100,7 +40210,7 @@ "source_location": "L89", "_origin": "ast", "id": "scripts_migration_minio_url_rationale_89", - "community": 159, + "community": 72, "norm_label": "\u8fc1\u79fb crm ``sys_oss`` \u884c:``url`` + ``file_name`` \u2192 \u95e8\u6237\u76f8\u5bf9\u8def\u5f84\u3002" }, { @@ -40110,7 +40220,7 @@ "source_location": "L113", "_origin": "ast", "id": "scripts_migration_minio_url_rationale_113", - "community": 159, + "community": 139, "norm_label": "\u4e1a\u52a1\u8868 oss id \u4e32 \u2192 \u76f8\u5bf9 url \u4e32(\u7528\u4e8e\u5ba2\u6237\u8bc1\u7167\u3001\u8ddf\u8fdb\u9644\u4ef6\u7b49)\u3002" }, { @@ -40825,6 +40935,146 @@ "community": 43, "norm_label": "test_release_idempotent_guard()" }, + { + "label": "test_crm_contract_name_from_parties.py", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L1", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties", + "community": 129, + "norm_label": "test_crm_contract_name_from_parties.py" + }, + { + "label": "test_resolve_matches_supplier_exact_name()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L6", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", + "community": 129, + "norm_label": "test_resolve_matches_supplier_exact_name()" + }, + { + "label": "test_resolve_matches_customer_exact_name()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L19", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", + "community": 129, + "norm_label": "test_resolve_matches_customer_exact_name()" + }, + { + "label": "test_resolve_matches_customer_invoice_name()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L32", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", + "community": 129, + "norm_label": "test_resolve_matches_customer_invoice_name()" + }, + { + "label": "test_resolve_fallback_to_party_full_name()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L46", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", + "community": 129, + "norm_label": "test_resolve_fallback_to_party_full_name()" + }, + { + "label": "test_resolve_does_not_fuzzy_match_short_inside_longer_name()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L59", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", + "community": 129, + "norm_label": "test_resolve_does_not_fuzzy_match_short_inside_longer_name()" + }, + { + "label": "test_generate_empty_uses_party_order_after_swap()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L73", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", + "community": 129, + "norm_label": "test_generate_empty_uses_party_order_after_swap()" + }, + { + "label": "test_generate_empty_default_party_order()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L88", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", + "community": 129, + "norm_label": "test_generate_empty_default_party_order()" + }, + { + "label": "test_generate_purchase_does_not_reverse_party_order()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L102", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", + "community": 129, + "norm_label": "test_generate_purchase_does_not_reverse_party_order()" + }, + { + "label": "test_generate_user_name_keeps_body_and_syncs_no()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L117", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", + "community": 129, + "norm_label": "test_generate_user_name_keeps_body_and_syncs_no()" + }, + { + "label": "test_generate_fallback_when_parties_blank()", + "file_type": "code", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L131", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", + "community": 129, + "norm_label": "test_generate_fallback_when_parties_blank()" + }, + { + "label": "\u5408\u540c\u540d\u79f0\u6309\u4f9b\u9700\u65b9\u9762\u677f\uff08partyA/partyB\uff09\u89e3\u6790\u7b80\u79f0\u3002", + "file_type": "rationale", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L1", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_rationale_1", + "community": 129, + "norm_label": "\u5408\u540c\u540d\u79f0\u6309\u4f9b\u9700\u65b9\u9762\u677f(partya/partyb)\u89e3\u6790\u7b80\u79f0\u3002" + }, + { + "label": "\u907f\u514d\u300c\u5c71\u5ce1\u300d\u5b50\u4e32\u8bef\u5339\u914d\u5ba2\u6237\u5168\u79f0\u4e2d\u7684\u5c71\u5ce1\u4e8c\u5b57\u5230\u4ea4\u6613\u4e3b\u4f53\u3002", + "file_type": "rationale", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L60", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_rationale_60", + "community": 129, + "norm_label": "\u907f\u514d\u300c\u5c71\u5ce1\u300d\u5b50\u4e32\u8bef\u5339\u914d\u5ba2\u6237\u5168\u79f0\u4e2d\u7684\u5c71\u5ce1\u4e8c\u5b57\u5230\u4ea4\u6613\u4e3b\u4f53\u3002" + }, + { + "label": "\u8c03\u6362\u540e\u4f9b\u65b9=\u8f89\u9686\u3001\u9700\u65b9=\u5c71\u5ce1 \u2192 \u8f89\u9686-\u5c71\u5ce1\uff08\u7f16\u53f7\uff09\uff0c\u4e0d\u56e0\u7c7b\u578b\u53cd\u5e8f\u3002", + "file_type": "rationale", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L74", + "_origin": "ast", + "id": "tests_test_crm_contract_name_from_parties_rationale_74", + "community": 129, + "norm_label": "\u8c03\u6362\u540e\u4f9b\u65b9=\u8f89\u9686\u3001\u9700\u65b9=\u5c71\u5ce1 \u2192 \u8f89\u9686-\u5c71\u5ce1(\u7f16\u53f7),\u4e0d\u56e0\u7c7b\u578b\u53cd\u5e8f\u3002" + }, { "label": "test_crm_contract_no_align.py", "file_type": "code", @@ -40832,69 +41082,119 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_crm_contract_no_align", - "community": 139, + "community": 46, "norm_label": "test_crm_contract_no_align.py" }, { "label": "test_replace_keeps_seq_and_swaps_date()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L7", + "source_location": "L11", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", - "community": 139, + "community": 46, "norm_label": "test_replace_keeps_seq_and_swaps_date()" }, { "label": "test_replace_noop_when_same_date()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L14", + "source_location": "L18", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_replace_noop_when_same_date", - "community": 139, + "community": 46, "norm_label": "test_replace_noop_when_same_date()" }, { "label": "test_replace_returns_none_for_nonstandard()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L18", + "source_location": "L22", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", - "community": 139, + "community": 46, "norm_label": "test_replace_returns_none_for_nonstandard()" }, { "label": "test_align_returns_original_when_nonstandard()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L24", + "source_location": "L28", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", - "community": 139, + "community": 46, "norm_label": "test_align_returns_original_when_nonstandard()" }, { "label": "test_align_bumps_seq_when_occupied()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L34", + "source_location": "L38", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", - "community": 139, + "community": 46, "norm_label": "test_align_bumps_seq_when_occupied()" }, { "label": "test_align_exclude_id_skips_self()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L47", + "source_location": "L51", "_origin": "ast", "id": "tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", - "community": 139, + "community": 46, "norm_label": "test_align_exclude_id_skips_self()" }, + { + "label": "_mock_last_contract()", + "file_type": "code", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L70", + "_origin": "ast", + "id": "tests_test_crm_contract_no_align_mock_last_contract", + "community": 46, + "norm_label": "_mock_last_contract()" + }, + { + "label": "test_generate_bumps_past_soft_deleted_occupied_no()", + "file_type": "code", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L82", + "_origin": "ast", + "id": "tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", + "community": 46, + "norm_label": "test_generate_bumps_past_soft_deleted_occupied_no()" + }, + { + "label": "test_generate_starts_after_soft_deleted_max()", + "file_type": "code", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L94", + "_origin": "ast", + "id": "tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", + "community": 46, + "norm_label": "test_generate_starts_after_soft_deleted_max()" + }, + { + "label": "\u8f6f\u5220\u5360\u7528\u7684\u7f16\u53f7\u4ecd\u5360\u552f\u4e00\u7d22\u5f15\uff0c\u751f\u6210\u65f6\u987b\u8df3\u8fc7\uff08\u5bf9\u9f50 uk_contract_tenant_no\uff09\u3002", + "file_type": "rationale", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L83", + "_origin": "ast", + "id": "tests_test_crm_contract_no_align_rationale_83", + "community": 46, + "norm_label": "\u8f6f\u5220\u5360\u7528\u7684\u7f16\u53f7\u4ecd\u5360\u552f\u4e00\u7d22\u5f15,\u751f\u6210\u65f6\u987b\u8df3\u8fc7(\u5bf9\u9f50 uk_contract_tenant_no)\u3002" + }, + { + "label": "\u53d6\u6700\u5927\u6d41\u6c34\u53f7\u987b\u542b\u8f6f\u5220\uff0c\u907f\u514d\u590d\u7528\u5df2\u8f6f\u5220\u7684\u6700\u5927\u7f16\u53f7\u3002", + "file_type": "rationale", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L95", + "_origin": "ast", + "id": "tests_test_crm_contract_no_align_rationale_95", + "community": 46, + "norm_label": "\u53d6\u6700\u5927\u6d41\u6c34\u53f7\u987b\u542b\u8f6f\u5220,\u907f\u514d\u590d\u7528\u5df2\u8f6f\u5220\u7684\u6700\u5927\u7f16\u53f7\u3002" + }, { "label": "test_crm_supplier_hazard.py", "file_type": "code", @@ -40902,7 +41202,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_crm_supplier_hazard", - "community": 21, + "community": 178, "norm_label": "test_crm_supplier_hazard.py" }, { @@ -40912,7 +41212,7 @@ "source_location": "L4", "_origin": "ast", "id": "tests_test_crm_supplier_hazard_test_plain_always_allowed", - "community": 21, + "community": 178, "norm_label": "test_plain_always_allowed()" }, { @@ -40922,7 +41222,7 @@ "source_location": "L8", "_origin": "ast", "id": "tests_test_crm_supplier_hazard_test_toxic_only_requires_allow_toxic", - "community": 21, + "community": 178, "norm_label": "test_toxic_only_requires_allow_toxic()" }, { @@ -40932,7 +41232,7 @@ "source_location": "L13", "_origin": "ast", "id": "tests_test_crm_supplier_hazard_test_explosive_only_requires_allow_explosive", - "community": 21, + "community": 178, "norm_label": "test_explosive_only_requires_allow_explosive()" }, { @@ -40942,7 +41242,7 @@ "source_location": "L18", "_origin": "ast", "id": "tests_test_crm_supplier_hazard_test_dual_requires_both", - "community": 21, + "community": 178, "norm_label": "test_dual_requires_both()" }, { @@ -41262,7 +41562,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_pl_carrier_eligible", - "community": 154, + "community": 107, "norm_label": "test_pl_carrier_eligible.py" }, { @@ -41272,7 +41572,7 @@ "source_location": "L9", "_origin": "ast", "id": "tests_test_pl_carrier_eligible_carrier", - "community": 154, + "community": 107, "norm_label": "_carrier()" }, { @@ -41282,7 +41582,7 @@ "source_location": "L22", "_origin": "ast", "id": "tests_test_pl_carrier_eligible_test_eligible_ignores_audit_qualification_agreement", - "community": 154, + "community": 107, "norm_label": "test_eligible_ignores_audit_qualification_agreement()" }, { @@ -41292,7 +41592,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity", - "community": 61, + "community": 125, "norm_label": "test_pl_dibang_plan_quantity.py" }, { @@ -41322,7 +41622,7 @@ "source_location": "L29", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity_test_resolve_link_contributed_qty_prefers_link_field", - "community": 61, + "community": 125, "norm_label": "test_resolve_link_contributed_qty_prefers_link_field()" }, { @@ -41332,7 +41632,7 @@ "source_location": "L35", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity_test_resolve_link_contributed_qty_falls_back_to_inventory", - "community": 61, + "community": 125, "norm_label": "test_resolve_link_contributed_qty_falls_back_to_inventory()" }, { @@ -41342,7 +41642,7 @@ "source_location": "L41", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity_test_resolve_link_contributed_qty_zero_when_missing", - "community": 61, + "community": 125, "norm_label": "test_resolve_link_contributed_qty_zero_when_missing()" }, { @@ -41352,7 +41652,7 @@ "source_location": "L48", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity_test_revoke_subtracts_plan_quantity_on_cancel", - "community": 61, + "community": 125, "norm_label": "test_revoke_subtracts_plan_quantity_on_cancel()" }, { @@ -41362,7 +41662,7 @@ "source_location": "L102", "_origin": "ast", "id": "tests_test_pl_dibang_plan_quantity_test_revoke_blocks_when_weighing_exists", - "community": 61, + "community": 125, "norm_label": "test_revoke_blocks_when_weighing_exists()" }, { @@ -41512,7 +41812,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status", - "community": 125, + "community": 183, "norm_label": "test_pl_io_order_site_feedback_status.py" }, { @@ -41522,7 +41822,7 @@ "source_location": "L11", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_header", - "community": 125, + "community": 183, "norm_label": "_header()" }, { @@ -41532,7 +41832,7 @@ "source_location": "L26", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_item", - "community": 125, + "community": 183, "norm_label": "_item()" }, { @@ -41542,7 +41842,7 @@ "source_location": "L36", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_sets_status_completed", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_sets_status_completed()" }, { @@ -41552,7 +41852,7 @@ "source_location": "L57", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_sets_status_voided", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_sets_status_voided()" }, { @@ -41562,7 +41862,7 @@ "source_location": "L72", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_keeps_in_progress_when_requested", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_keeps_in_progress_when_requested()" }, { @@ -41572,7 +41872,7 @@ "source_location": "L89", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_rejects_invalid_status", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_rejects_invalid_status()" }, { @@ -41582,7 +41882,7 @@ "source_location": "L104", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_rejects_already_voided", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_rejects_already_voided()" }, { @@ -41592,7 +41892,7 @@ "source_location": "L119", "_origin": "ast", "id": "tests_test_pl_io_order_site_feedback_status_test_apply_site_feedback_does_not_reset_first_submitted_at", - "community": 125, + "community": 183, "norm_label": "test_apply_site_feedback_does_not_reset_first_submitted_at()" }, { @@ -41782,7 +42082,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema", - "community": 97, + "community": 154, "norm_label": "test_pl_vehicle_personnel_photo_schema.py" }, { @@ -41792,7 +42092,7 @@ "source_location": "L7", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema_test_vehicle_create_accepts_photo_urls", - "community": 97, + "community": 154, "norm_label": "test_vehicle_create_accepts_photo_urls()" }, { @@ -41802,7 +42102,7 @@ "source_location": "L19", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema_test_vehicle_update_accepts_photo_urls", - "community": 97, + "community": 154, "norm_label": "test_vehicle_update_accepts_photo_urls()" }, { @@ -41812,7 +42112,7 @@ "source_location": "L24", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema_test_personnel_create_accepts_photo_urls", - "community": 97, + "community": 154, "norm_label": "test_personnel_create_accepts_photo_urls()" }, { @@ -41822,7 +42122,7 @@ "source_location": "L37", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema_test_personnel_update_accepts_photo_urls", - "community": 97, + "community": 154, "norm_label": "test_personnel_update_accepts_photo_urls()" }, { @@ -41832,7 +42132,7 @@ "source_location": "L1", "_origin": "ast", "id": "tests_test_pl_vehicle_personnel_photo_schema_rationale_1", - "community": 97, + "community": 154, "norm_label": "\u8f66\u8f86/\u4eba\u5458 schema \u63a5\u53d7 photourls\u3002" }, { @@ -57924,7 +58224,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L518", + "source_location": "L543", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_category_add", @@ -57934,7 +58234,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L557", + "source_location": "L582", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_category_delete", @@ -57944,7 +58244,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L328", + "source_location": "L330", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_category_tree", @@ -57954,7 +58254,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L537", + "source_location": "L562", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_category_update", @@ -57964,7 +58264,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3582", + "source_location": "L3608", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_assign", @@ -57974,7 +58274,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3638", + "source_location": "L3664", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_check_convert", @@ -57984,7 +58284,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4192", + "source_location": "L4218", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_check_duplicate", @@ -57994,7 +58294,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3610", + "source_location": "L3636", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_convert", @@ -58004,7 +58304,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3506", + "source_location": "L3532", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_create", @@ -58014,7 +58314,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3551", + "source_location": "L3577", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_delete", @@ -58024,7 +58324,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3479", + "source_location": "L3505", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_detail", @@ -58034,7 +58334,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4048", + "source_location": "L4074", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_export", @@ -58044,7 +58344,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3916", + "source_location": "L3942", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_create", @@ -58054,7 +58354,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3948", + "source_location": "L3974", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_delete", @@ -58064,7 +58364,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4216", + "source_location": "L4242", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_detail", @@ -58074,7 +58374,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3884", + "source_location": "L3910", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_list", @@ -58084,7 +58384,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3979", + "source_location": "L4005", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_statistics", @@ -58094,7 +58394,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4240", + "source_location": "L4266", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_follow_update", @@ -58104,7 +58404,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4140", + "source_location": "L4166", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_import", @@ -58114,7 +58414,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4105", + "source_location": "L4131", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_import_template", @@ -58124,7 +58424,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3679", + "source_location": "L3705", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_invalid", @@ -58134,7 +58434,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3432", + "source_location": "L3458", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_list", @@ -58144,7 +58444,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3731", + "source_location": "L3757", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_mine", @@ -58154,7 +58454,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3869", + "source_location": "L3895", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_park_area_list", @@ -58164,7 +58464,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4314", + "source_location": "L4340", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_statistics_level", @@ -58174,7 +58474,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4261", + "source_location": "L4287", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_statistics_overview", @@ -58184,7 +58484,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4358", + "source_location": "L4384", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_statistics_owner", @@ -58194,7 +58494,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4289", + "source_location": "L4315", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_statistics_source", @@ -58204,7 +58504,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4331", + "source_location": "L4357", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_statistics_trend", @@ -58214,7 +58514,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3777", + "source_location": "L3803", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_to_follow", @@ -58224,7 +58524,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3823", + "source_location": "L3849", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_today_new", @@ -58234,7 +58534,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3529", + "source_location": "L3555", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_update", @@ -58244,7 +58544,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3710", + "source_location": "L3736", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_update_level", @@ -58254,7 +58554,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3658", + "source_location": "L3684", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_clue_update_status", @@ -58264,7 +58564,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1524", + "source_location": "L1550", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_add", @@ -58274,7 +58574,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1702", + "source_location": "L1728", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_birthday", @@ -58284,7 +58584,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1503", + "source_location": "L1529", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_by_customer", @@ -58294,7 +58594,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1640", + "source_location": "L1666", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_decision", @@ -58304,7 +58604,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1568", + "source_location": "L1594", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_delete", @@ -58314,7 +58614,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1479", + "source_location": "L1505", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_detail", @@ -58324,7 +58624,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1610", + "source_location": "L1636", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_export", @@ -58334,7 +58634,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1443", + "source_location": "L1469", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_list", @@ -58344,7 +58644,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1671", + "source_location": "L1697", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_primary", @@ -58354,7 +58654,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1588", + "source_location": "L1614", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_set_primary", @@ -58364,7 +58664,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1547", + "source_location": "L1573", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contact_update", @@ -58375,7 +58675,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4551", + "source_location": "L4577", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contract_routes", @@ -58386,7 +58686,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4551", + "source_location": "L4577", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contract_routes_register_contract_routes", @@ -58397,7 +58697,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4552", + "source_location": "L4578", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contract_sub_routes", @@ -58408,7 +58708,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4552", + "source_location": "L4578", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_contract_sub_routes_register_contract_sub_routes", @@ -58418,7 +58718,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1006", + "source_location": "L1032", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_check_duplicate", @@ -58428,7 +58728,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L417", + "source_location": "L442", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_create", @@ -58438,7 +58738,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L977", + "source_location": "L1003", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_deal", @@ -58448,7 +58748,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1206", + "source_location": "L1232", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_dealed", @@ -58458,7 +58758,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L474", + "source_location": "L499", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_delete", @@ -58468,7 +58768,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L390", + "source_location": "L392", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_detail", @@ -58478,7 +58778,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1029", + "source_location": "L1055", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_export", @@ -58488,7 +58788,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L502", + "source_location": "L527", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_generate_no", @@ -58498,7 +58798,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1065", + "source_location": "L1091", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_import_template", @@ -58508,7 +58808,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L952", + "source_location": "L978", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_into_pool", @@ -58518,7 +58818,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1172", + "source_location": "L1198", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_key", @@ -58528,7 +58828,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L356", + "source_location": "L358", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_list", @@ -58538,7 +58838,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1270", + "source_location": "L1296", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_long_time_no_follow", @@ -58548,7 +58848,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1104", + "source_location": "L1130", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_mine", @@ -58558,7 +58858,17 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1302", + "source_location": "L418", + "weight": 1.0, + "source": "app_api_crm", + "target": "app_api_crm_customer_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L1328", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_park_area_list", @@ -58568,7 +58878,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1138", + "source_location": "L1164", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_to_follow", @@ -58578,7 +58888,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L926", + "source_location": "L952", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_transfer", @@ -58588,7 +58898,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L447", + "source_location": "L472", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_update", @@ -58598,7 +58908,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1238", + "source_location": "L1264", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_customer_week_new", @@ -58608,7 +58918,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1815", + "source_location": "L1841", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_add", @@ -58618,7 +58928,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1794", + "source_location": "L1820", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_by_customer", @@ -58628,7 +58938,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1858", + "source_location": "L1884", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_delete", @@ -58638,7 +58948,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1768", + "source_location": "L1794", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_detail", @@ -58648,7 +58958,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1875", + "source_location": "L1901", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_export", @@ -58658,7 +58968,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1736", + "source_location": "L1762", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_list", @@ -58668,7 +58978,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1839", + "source_location": "L1865", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_follow_update", @@ -58678,7 +58988,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3328", + "source_location": "L3354", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_add", @@ -58688,7 +58998,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3313", + "source_location": "L3339", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_by_customer", @@ -58698,7 +59008,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3284", + "source_location": "L3310", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_by_customer_impl", @@ -58708,7 +59018,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3381", + "source_location": "L3407", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_delete", @@ -58718,7 +59028,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3298", + "source_location": "L3324", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_list", @@ -58728,7 +59038,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3404", + "source_location": "L3430", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_set_default", @@ -58738,7 +59048,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3353", + "source_location": "L3379", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_invoice_info_update", @@ -58748,7 +59058,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2212", + "source_location": "L2238", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opp_list_kwargs", @@ -58758,7 +59068,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2337", + "source_location": "L2363", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_add", @@ -58768,7 +59078,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2403", + "source_location": "L2429", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_assign", @@ -58778,7 +59088,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2546", + "source_location": "L2572", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_batch_update_expect_date", @@ -58788,7 +59098,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2517", + "source_location": "L2543", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_batch_update_stage", @@ -58798,7 +59108,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2430", + "source_location": "L2456", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_change_stage", @@ -58808,7 +59118,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2382", + "source_location": "L2408", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_delete", @@ -58818,7 +59128,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2307", + "source_location": "L2333", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_detail", @@ -58828,7 +59138,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3039", + "source_location": "L3065", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_export", @@ -58838,7 +59148,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2774", + "source_location": "L2800", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_follow_add", @@ -58848,7 +59158,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2822", + "source_location": "L2848", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_follow_delete", @@ -58858,7 +59168,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2846", + "source_location": "L2872", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_follow_detail", @@ -58868,7 +59178,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2742", + "source_location": "L2768", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_follow_list", @@ -58878,7 +59188,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2799", + "source_location": "L2825", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_follow_update", @@ -58888,7 +59198,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2592", + "source_location": "L2618", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_kanban", @@ -58898,7 +59208,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2241", + "source_location": "L2267", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_list", @@ -58908,7 +59218,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2488", + "source_location": "L2514", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_mark_lost", @@ -58918,7 +59228,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2460", + "source_location": "L2486", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_mark_won", @@ -58928,7 +59238,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2274", + "source_location": "L2300", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_mine_list", @@ -58938,7 +59248,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2920", + "source_location": "L2946", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_add", @@ -58948,7 +59258,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2945", + "source_location": "L2971", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_batch_add", @@ -58958,7 +59268,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2998", + "source_location": "L3024", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_delete", @@ -58968,7 +59278,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3019", + "source_location": "L3045", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_detail", @@ -58978,7 +59288,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2866", + "source_location": "L2892", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_list", @@ -58988,7 +59298,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2899", + "source_location": "L2925", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_list_by_opportunity", @@ -58998,7 +59308,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2975", + "source_location": "L3001", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_product_update", @@ -59008,7 +59318,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2574", + "source_location": "L2600", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_stage_log_list", @@ -59018,7 +59328,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2716", + "source_location": "L2742", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_statistics_funnel", @@ -59028,7 +59338,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2623", + "source_location": "L2649", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_statistics_overview", @@ -59038,7 +59348,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2691", + "source_location": "L2717", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_statistics_owner", @@ -59048,7 +59358,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2649", + "source_location": "L2675", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_statistics_stage", @@ -59058,7 +59368,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2665", + "source_location": "L2691", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_statistics_win_rate", @@ -59068,7 +59378,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2361", + "source_location": "L2387", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_opportunity_update", @@ -59078,7 +59388,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1354", + "source_location": "L1380", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_customer_assign", @@ -59088,7 +59398,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1373", + "source_location": "L1399", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_customer_claim", @@ -59098,7 +59408,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1322", + "source_location": "L1348", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_customer_list", @@ -59108,7 +59418,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1421", + "source_location": "L1447", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_record_detail", @@ -59118,7 +59428,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1391", + "source_location": "L1417", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_record_list", @@ -59128,7 +59438,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1960", + "source_location": "L1986", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_add", @@ -59138,7 +59448,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2016", + "source_location": "L2042", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_delete", @@ -59148,7 +59458,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1939", + "source_location": "L1965", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_detail", @@ -59158,7 +59468,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2053", + "source_location": "L2079", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_execute", @@ -59168,7 +59478,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1908", + "source_location": "L1934", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_list", @@ -59178,7 +59488,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1987", + "source_location": "L2013", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_update", @@ -59188,7 +59498,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2033", + "source_location": "L2059", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_pool_rule_update_status", @@ -59198,7 +59508,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4466", + "source_location": "L4492", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_price_letter_add", @@ -59208,7 +59518,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4444", + "source_location": "L4470", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_price_letter_detail", @@ -59218,7 +59528,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4403", + "source_location": "L4429", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_price_letter_list", @@ -59228,7 +59538,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4493", + "source_location": "L4519", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_price_letter_update", @@ -59238,7 +59548,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4524", + "source_location": "L4550", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_price_letter_void", @@ -59248,7 +59558,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L635", + "source_location": "L660", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_add", @@ -59258,7 +59568,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L680", + "source_location": "L705", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_delete", @@ -59268,7 +59578,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L614", + "source_location": "L639", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_detail", @@ -59278,7 +59588,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L847", + "source_location": "L873", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_export", @@ -59288,7 +59598,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L756", + "source_location": "L782", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_import", @@ -59298,7 +59608,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L882", + "source_location": "L908", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_import_template", @@ -59308,7 +59618,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L577", + "source_location": "L602", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_list", @@ -59318,7 +59628,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L729", + "source_location": "L754", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_options", @@ -59328,7 +59638,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L659", + "source_location": "L684", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_update", @@ -59338,7 +59648,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L708", + "source_location": "L733", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_product_update_status", @@ -59349,7 +59659,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4550", + "source_location": "L4576", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_quote_routes", @@ -59360,7 +59670,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4550", + "source_location": "L4576", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_quote_routes_register_quote_routes", @@ -59370,7 +59680,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2187", + "source_location": "L2213", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_follow", @@ -59380,7 +59690,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2128", + "source_location": "L2154", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_industry", @@ -59390,7 +59700,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2110", + "source_location": "L2136", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_level", @@ -59400,7 +59710,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2072", + "source_location": "L2098", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_overview", @@ -59410,7 +59720,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2169", + "source_location": "L2195", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_owner", @@ -59420,7 +59730,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2092", + "source_location": "L2118", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_source", @@ -59430,7 +59740,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2146", + "source_location": "L2172", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_statistics_trend", @@ -59440,7 +59750,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3164", + "source_location": "L3190", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_add", @@ -59450,7 +59760,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3218", + "source_location": "L3244", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_delete", @@ -59460,7 +59770,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3141", + "source_location": "L3167", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_detail", @@ -59470,7 +59780,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3247", + "source_location": "L3273", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_export", @@ -59480,7 +59790,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3081", + "source_location": "L3107", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_list", @@ -59490,7 +59800,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3116", + "source_location": "L3142", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_list_all", @@ -59500,7 +59810,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3190", + "source_location": "L3216", "weight": 1.0, "source": "app_api_crm", "target": "app_api_crm_supplier_info_update", @@ -59632,7 +59942,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue", @@ -59643,7 +59953,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_assign_clues", @@ -59654,7 +59964,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_check_convert", @@ -59665,7 +59975,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_check_duplicate_clue", @@ -59676,7 +59986,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_convert_clue", @@ -59687,7 +59997,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_create_clue", @@ -59698,7 +60008,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_enrich_user_names", @@ -59709,7 +60019,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow", @@ -59720,7 +60030,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_create_clue_follow", @@ -59731,7 +60041,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_delete_clue_follow", @@ -59742,7 +60052,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_get_clue_follow", @@ -59753,7 +60063,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_get_follow_statistics", @@ -59764,7 +60074,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_list_clue_follows", @@ -59775,7 +60085,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_row_to_dict", @@ -59786,7 +60096,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_total_pages", @@ -59797,7 +60107,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L287", + "source_location": "L289", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_follow_update_clue_follow", @@ -59808,7 +60118,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_get_clue", @@ -59819,7 +60129,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_get_park_area_list", @@ -59830,7 +60140,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_import_clues", @@ -59841,7 +60151,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_invalid_clue", @@ -59852,7 +60162,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_list_clues", @@ -59863,7 +60173,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_row_to_dict", @@ -59874,7 +60184,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_soft_delete_clue", @@ -59885,7 +60195,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics", @@ -59896,7 +60206,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics_get_clue_level_statistics", @@ -59907,7 +60217,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics_get_clue_overview_statistics", @@ -59918,7 +60228,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics_get_clue_owner_statistics", @@ -59929,7 +60239,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics_get_clue_source_statistics", @@ -59940,7 +60250,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L297", + "source_location": "L299", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_statistics_get_clue_trend_statistics", @@ -59951,7 +60261,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_total_pages", @@ -59962,7 +60272,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_update_clue", @@ -59973,7 +60283,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_update_clue_level", @@ -59984,7 +60294,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L268", + "source_location": "L270", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_clue_update_clue_status", @@ -59995,7 +60305,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact", @@ -60006,7 +60316,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_create_contact", @@ -60017,7 +60327,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_get_contact", @@ -60028,7 +60338,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_list_contacts", @@ -60039,7 +60349,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_list_contacts_by_customer", @@ -60050,7 +60360,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_row_to_dict", @@ -60061,7 +60371,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_set_primary_contact", @@ -60072,7 +60382,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_soft_delete_contact", @@ -60083,7 +60393,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_total_pages", @@ -60094,7 +60404,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L87", + "source_location": "L88", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_contact_update_contact", @@ -60204,7 +60514,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow", @@ -60215,7 +60525,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_create_follow", @@ -60226,7 +60536,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_get_follow", @@ -60237,7 +60547,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_list_follows", @@ -60248,7 +60558,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_list_follows_by_customer", @@ -60259,7 +60569,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_row_to_dict", @@ -60270,7 +60580,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_soft_delete_follow", @@ -60281,7 +60591,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_total_pages", @@ -60292,7 +60602,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L171", + "source_location": "L172", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_follow_update_follow", @@ -60342,6 +60652,17 @@ "target": "app_crud_crm_customer_into_pool", "confidence_score": 1.0 }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L66", + "weight": 1.0, + "source": "app_api_crm", + "target": "app_crud_crm_customer_list_customer_options", + "confidence_score": 1.0 + }, { "relation": "imports", "context": "import", @@ -60369,7 +60690,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L116", + "source_location": "L117", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_pool", @@ -60380,7 +60701,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L116", + "source_location": "L117", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_pool_get_pool_record", @@ -60391,7 +60712,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L116", + "source_location": "L117", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_pool_list_pool_records", @@ -60402,7 +60723,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1428", + "source_location": "L1454", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_pool_row_to_dict", @@ -60413,7 +60734,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L116", + "source_location": "L117", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_customer_pool_total_pages", @@ -60545,7 +60866,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info", @@ -60556,7 +60877,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_create_invoice_info", @@ -60567,7 +60888,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_list_invoice_info_by_customer", @@ -60578,7 +60899,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_row_to_dict", @@ -60589,7 +60910,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_set_default_invoice_info", @@ -60600,7 +60921,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_soft_delete_invoice_info", @@ -60611,7 +60932,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L98", + "source_location": "L99", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_invoice_info_update_invoice_info", @@ -60622,7 +60943,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity", @@ -60633,7 +60954,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_assign_opportunities", @@ -60644,7 +60965,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_batch_update_expect_date", @@ -60655,7 +60976,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_batch_update_stage", @@ -60666,7 +60987,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_change_stage", @@ -60677,7 +60998,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_create_opportunity", @@ -60688,7 +61009,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow", @@ -60699,7 +61020,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_create_opportunity_follow", @@ -60710,7 +61031,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_get_opportunity_follow", @@ -60721,7 +61042,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_list_follows_by_opportunity", @@ -60732,7 +61053,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_list_opportunity_follows", @@ -60743,7 +61064,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_soft_delete_opportunity_follow", @@ -60754,7 +61075,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_total_pages", @@ -60765,7 +61086,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L152", + "source_location": "L153", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_follow_update_opportunity_follow", @@ -60776,7 +61097,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_kanban_data", @@ -60787,7 +61108,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_opportunity", @@ -60798,7 +61119,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_sales_funnel", @@ -60809,7 +61130,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_stage_log_list", @@ -60820,7 +61141,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_statistics_by_owner", @@ -60831,7 +61152,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_statistics_by_stage", @@ -60842,7 +61163,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_statistics_overview", @@ -60853,7 +61174,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_get_win_rate_statistics", @@ -60864,7 +61185,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_list_opportunities", @@ -60875,7 +61196,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_mark_lost", @@ -60886,7 +61207,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_mark_won", @@ -60897,7 +61218,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product", @@ -60908,7 +61229,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_batch_add_opportunity_products", @@ -60919,7 +61240,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_create_opportunity_product", @@ -60930,7 +61251,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_get_opportunity_product", @@ -60941,7 +61262,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_list_opportunity_products", @@ -60952,7 +61273,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_list_products_by_opportunity", @@ -60963,7 +61284,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_soft_delete_opportunity_products", @@ -60974,7 +61295,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_total_pages", @@ -60985,7 +61306,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L161", + "source_location": "L162", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_product_update_opportunity_product", @@ -60996,7 +61317,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_soft_delete_opportunities", @@ -61007,7 +61328,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_total_pages", @@ -61018,7 +61339,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L131", + "source_location": "L132", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_opportunity_update_opportunity", @@ -61029,7 +61350,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule", @@ -61040,7 +61361,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_create_pool_rule", @@ -61051,7 +61372,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_delete_pool_rules", @@ -61062,7 +61383,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_execute_pool_rules", @@ -61073,7 +61394,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_get_pool_rule", @@ -61084,7 +61405,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_list_pool_rules", @@ -61095,7 +61416,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1947", + "source_location": "L1973", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_row_to_dict", @@ -61106,7 +61427,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_total_pages", @@ -61117,7 +61438,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_update_pool_rule", @@ -61128,7 +61449,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L121", + "source_location": "L122", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_pool_rule_update_pool_rule_status", @@ -61139,7 +61460,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter", @@ -61150,7 +61471,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_create_price_letter", @@ -61161,7 +61482,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_get_price_letter", @@ -61172,7 +61493,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_list_price_letters", @@ -61183,7 +61504,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_row_to_dict", @@ -61194,7 +61515,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_total_pages", @@ -61205,7 +61526,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_update_price_letter", @@ -61216,7 +61537,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4384", + "source_location": "L4410", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_price_letter_void_price_letter", @@ -61414,7 +61735,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics", @@ -61425,7 +61746,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_follow_statistics", @@ -61436,7 +61757,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_industry_statistics", @@ -61447,7 +61768,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_level_statistics", @@ -61458,7 +61779,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_overview_statistics", @@ -61469,7 +61790,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_owner_statistics", @@ -61480,7 +61801,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_source_statistics", @@ -61491,7 +61812,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L181", + "source_location": "L182", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_statistics_get_trend_statistics", @@ -61502,7 +61823,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info", @@ -61513,7 +61834,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_create_supplier_info", @@ -61524,7 +61845,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_get_supplier_info", @@ -61535,7 +61856,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_list_all_supplier_info", @@ -61546,7 +61867,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_list_supplier_info", @@ -61557,7 +61878,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_row_to_dict", @@ -61568,7 +61889,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_soft_delete_supplier_info", @@ -61579,7 +61900,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_total_pages", @@ -61590,7 +61911,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L106", + "source_location": "L107", "weight": 1.0, "source": "app_api_crm", "target": "app_crud_crm_supplier_info_update_supplier_info", @@ -61601,7 +61922,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2316", + "source_location": "L2342", "weight": 1.0, "source": "app_api_crm", "target": "app_models_crm_models_crmopportunity", @@ -61612,7 +61933,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue", @@ -61623,7 +61944,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_clueassignbody", @@ -61634,7 +61955,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_clueconvertbody", @@ -61645,7 +61966,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluecreatebody", @@ -61656,7 +61977,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluedeletebody", @@ -61667,7 +61988,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluefollowcreatebody", @@ -61678,7 +61999,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluefollowdeletebody", @@ -61689,7 +62010,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluefollowlistbody", @@ -61700,7 +62021,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluefollowupdatebody", @@ -61711,7 +62032,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_clueinvalidbody", @@ -61722,7 +62043,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluelevelbody", @@ -61733,7 +62054,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluelistbody", @@ -61744,7 +62065,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluestatisticsbody", @@ -61755,7 +62076,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_cluestatusbody", @@ -61766,7 +62087,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L304", + "source_location": "L306", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_clue_clueupdatebody", @@ -61777,7 +62098,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L212", + "source_location": "L214", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_contact", @@ -61788,7 +62109,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L212", + "source_location": "L214", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_contact_contactcreatebody", @@ -61799,7 +62120,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L212", + "source_location": "L214", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_contact_contactdeletebody", @@ -61810,7 +62131,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L212", + "source_location": "L214", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_contact_contactlistbody", @@ -61821,7 +62142,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L212", + "source_location": "L214", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_contact_contactupdatebody", @@ -61832,7 +62153,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L206", + "source_location": "L207", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer", @@ -61843,7 +62164,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L206", + "source_location": "L207", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_customercreatebody", @@ -61854,7 +62175,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L206", + "source_location": "L207", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_customerdeletebody", @@ -61865,7 +62186,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L206", + "source_location": "L207", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_customerlistbody", @@ -61876,7 +62197,18 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L206", + "source_location": "L207", + "weight": 1.0, + "source": "app_api_crm", + "target": "app_schemas_crm_customer_customeroptionsbody", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L207", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_customerupdatebody", @@ -61887,7 +62219,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L261", + "source_location": "L263", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_follow", @@ -61898,7 +62230,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L261", + "source_location": "L263", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_follow_customerfollowcreatebody", @@ -61909,7 +62241,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L261", + "source_location": "L263", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_follow_customerfollowdeletebody", @@ -61920,7 +62252,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L261", + "source_location": "L263", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_follow_customerfollowlistbody", @@ -61931,7 +62263,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L261", + "source_location": "L263", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_follow_customerfollowupdatebody", @@ -61942,7 +62274,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool", @@ -61953,7 +62285,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool_poolassignbody", @@ -61964,7 +62296,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool_poolclaimbody", @@ -61975,7 +62307,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool_poolcustomerlistbody", @@ -61986,7 +62318,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool_poolrecorddetailbody", @@ -61997,7 +62329,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L190", + "source_location": "L191", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_customer_pool_poolrecordlistbody", @@ -62008,7 +62340,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info", @@ -62019,7 +62351,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info_invoiceinfobycustomerbody", @@ -62030,7 +62362,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info_invoiceinfocreatebody", @@ -62041,7 +62373,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info_invoiceinfodeletebody", @@ -62052,7 +62384,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info_invoiceinfosetdefaultbody", @@ -62063,7 +62395,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_invoice_info_invoiceinfoupdatebody", @@ -62074,7 +62406,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity", @@ -62085,7 +62417,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityassignbody", @@ -62096,7 +62428,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitybatchupdateexpectdatebody", @@ -62107,7 +62439,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitybatchupdatestagebody", @@ -62118,7 +62450,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitychangestagebody", @@ -62129,7 +62461,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitycreatebody", @@ -62140,7 +62472,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitydeletebody", @@ -62151,7 +62483,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitydetailbody", @@ -62162,7 +62494,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityfollowcreatebody", @@ -62173,7 +62505,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityfollowdeletebody", @@ -62184,7 +62516,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityfollowdetailbody", @@ -62195,7 +62527,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityfollowlistbody", @@ -62206,7 +62538,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityfollowupdatebody", @@ -62217,7 +62549,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitykanbanbody", @@ -62228,7 +62560,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitylistbody", @@ -62239,7 +62571,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitymarklostbody", @@ -62250,7 +62582,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitymarkwonbody", @@ -62261,7 +62593,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductbatchaddbody", @@ -62272,7 +62604,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductbyopportunitybody", @@ -62283,7 +62615,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductcreatebody", @@ -62294,7 +62626,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductdeletebody", @@ -62305,7 +62637,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductdetailbody", @@ -62316,7 +62648,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductlistbody", @@ -62327,7 +62659,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityproductupdatebody", @@ -62338,7 +62670,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitystageloglistbody", @@ -62349,7 +62681,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", @@ -62360,7 +62692,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L233", + "source_location": "L235", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_opportunity_opportunityupdatebody", @@ -62371,7 +62703,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule", @@ -62382,7 +62714,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruleaddbody", @@ -62393,7 +62725,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruledeletebody", @@ -62404,7 +62736,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruledetailbody", @@ -62415,7 +62747,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruleexecutebody", @@ -62426,7 +62758,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolrulelistbody", @@ -62437,7 +62769,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruleupdatebody", @@ -62448,7 +62780,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L197", + "source_location": "L198", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_pool_rule_poolruleupdatestatusbody", @@ -62459,7 +62791,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter", @@ -62470,7 +62802,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter_pricelettercreatebody", @@ -62481,7 +62813,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter_priceletterdetailbody", @@ -62492,7 +62824,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter_priceletterlistbody", @@ -62503,7 +62835,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter_priceletterupdatebody", @@ -62514,7 +62846,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4393", + "source_location": "L4419", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_price_letter_pricelettervoidbody", @@ -62657,7 +62989,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L267", + "source_location": "L269", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_statistics", @@ -62668,7 +63000,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L267", + "source_location": "L269", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_statistics_statisticsbody", @@ -62679,7 +63011,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info", @@ -62690,7 +63022,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfocreatebody", @@ -62701,7 +63033,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfodeletebody", @@ -62712,7 +63044,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfodetailbody", @@ -62723,7 +63055,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfolistallbody", @@ -62734,7 +63066,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfolistbody", @@ -62745,7 +63077,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L225", + "source_location": "L227", "weight": 1.0, "source": "app_api_crm", "target": "app_schemas_crm_supplier_info_supplierinfoupdatebody", @@ -62810,7 +63142,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L328", + "source_location": "L330", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_api_crm_py_session", @@ -62822,7 +63154,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L347", + "source_location": "L349", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_core_response_error_response" @@ -62833,7 +63165,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L345", + "source_location": "L347", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_core_response_success_response" @@ -62844,7 +63176,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L335", + "source_location": "L337", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_core_tenant_context_get_tenant_no" @@ -62855,7 +63187,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L336", + "source_location": "L338", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -62866,7 +63198,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L338", + "source_location": "L340", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_crud_crm_product_list_category_tree" @@ -62876,7 +63208,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L328", + "source_location": "L330", "weight": 1.0, "source": "app_api_crm_category_tree", "target": "app_schemas_crm_product_productcategorytreebody", @@ -62887,7 +63219,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L518", + "source_location": "L543", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_api_crm_py_session", @@ -62898,7 +63230,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L557", + "source_location": "L582", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_api_crm_py_session", @@ -62909,7 +63241,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L537", + "source_location": "L562", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_api_crm_py_session", @@ -62920,7 +63252,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3582", + "source_location": "L3608", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_api_crm_py_session", @@ -62931,7 +63263,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3638", + "source_location": "L3664", "weight": 1.0, "source": "app_api_crm_clue_check_convert", "target": "app_api_crm_py_session", @@ -62942,7 +63274,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4192", + "source_location": "L4218", "weight": 1.0, "source": "app_api_crm_clue_check_duplicate", "target": "app_api_crm_py_session", @@ -62953,7 +63285,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3610", + "source_location": "L3636", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_api_crm_py_session", @@ -62964,7 +63296,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3506", + "source_location": "L3532", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_api_crm_py_session", @@ -62975,7 +63307,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3551", + "source_location": "L3577", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_api_crm_py_session", @@ -62986,7 +63318,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3479", + "source_location": "L3505", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_api_crm_py_session", @@ -62997,7 +63329,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4048", + "source_location": "L4074", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_api_crm_py_session", @@ -63008,7 +63340,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3916", + "source_location": "L3942", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_api_crm_py_session", @@ -63019,7 +63351,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3948", + "source_location": "L3974", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_api_crm_py_session", @@ -63030,7 +63362,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4216", + "source_location": "L4242", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_api_crm_py_session", @@ -63041,7 +63373,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3884", + "source_location": "L3910", "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_api_crm_py_session", @@ -63052,7 +63384,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3979", + "source_location": "L4005", "weight": 1.0, "source": "app_api_crm_clue_follow_statistics", "target": "app_api_crm_py_session", @@ -63063,7 +63395,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4240", + "source_location": "L4266", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_api_crm_py_session", @@ -63074,7 +63406,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4140", + "source_location": "L4166", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_api_crm_py_session", @@ -63085,7 +63417,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3679", + "source_location": "L3705", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_api_crm_py_session", @@ -63096,7 +63428,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3432", + "source_location": "L3458", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_api_crm_py_session", @@ -63107,7 +63439,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3731", + "source_location": "L3757", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_api_crm_py_session", @@ -63118,7 +63450,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3869", + "source_location": "L3895", "weight": 1.0, "source": "app_api_crm_clue_park_area_list", "target": "app_api_crm_py_session", @@ -63129,7 +63461,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4314", + "source_location": "L4340", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_api_crm_py_session", @@ -63140,7 +63472,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4261", + "source_location": "L4287", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_api_crm_py_session", @@ -63151,7 +63483,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4358", + "source_location": "L4384", "weight": 1.0, "source": "app_api_crm_clue_statistics_owner", "target": "app_api_crm_py_session", @@ -63162,7 +63494,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4289", + "source_location": "L4315", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_api_crm_py_session", @@ -63173,7 +63505,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4331", + "source_location": "L4357", "weight": 1.0, "source": "app_api_crm_clue_statistics_trend", "target": "app_api_crm_py_session", @@ -63184,7 +63516,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3777", + "source_location": "L3803", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_api_crm_py_session", @@ -63195,7 +63527,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3823", + "source_location": "L3849", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_api_crm_py_session", @@ -63206,7 +63538,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3529", + "source_location": "L3555", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_api_crm_py_session", @@ -63217,7 +63549,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3710", + "source_location": "L3736", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_api_crm_py_session", @@ -63228,7 +63560,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3658", + "source_location": "L3684", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_api_crm_py_session", @@ -63239,7 +63571,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1524", + "source_location": "L1550", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_api_crm_py_session", @@ -63250,7 +63582,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1702", + "source_location": "L1728", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_api_crm_py_session", @@ -63261,7 +63593,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1503", + "source_location": "L1529", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_api_crm_py_session", @@ -63272,7 +63604,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1640", + "source_location": "L1666", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_api_crm_py_session", @@ -63283,7 +63615,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1568", + "source_location": "L1594", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_api_crm_py_session", @@ -63294,7 +63626,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1479", + "source_location": "L1505", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_api_crm_py_session", @@ -63305,7 +63637,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1610", + "source_location": "L1636", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_api_crm_py_session", @@ -63316,7 +63648,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1443", + "source_location": "L1469", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_api_crm_py_session", @@ -63327,7 +63659,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1671", + "source_location": "L1697", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_api_crm_py_session", @@ -63338,7 +63670,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1588", + "source_location": "L1614", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_api_crm_py_session", @@ -63349,7 +63681,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1547", + "source_location": "L1573", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_api_crm_py_session", @@ -63360,7 +63692,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1006", + "source_location": "L1032", "weight": 1.0, "source": "app_api_crm_customer_check_duplicate", "target": "app_api_crm_py_session", @@ -63371,7 +63703,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L417", + "source_location": "L442", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_api_crm_py_session", @@ -63382,7 +63714,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L977", + "source_location": "L1003", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_api_crm_py_session", @@ -63393,7 +63725,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1206", + "source_location": "L1232", "weight": 1.0, "source": "app_api_crm_customer_dealed", "target": "app_api_crm_py_session", @@ -63404,7 +63736,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L474", + "source_location": "L499", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_api_crm_py_session", @@ -63415,7 +63747,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L390", + "source_location": "L392", "weight": 1.0, "source": "app_api_crm_customer_detail", "target": "app_api_crm_py_session", @@ -63426,7 +63758,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1029", + "source_location": "L1055", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_api_crm_py_session", @@ -63437,7 +63769,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L502", + "source_location": "L527", "weight": 1.0, "source": "app_api_crm_customer_generate_no", "target": "app_api_crm_py_session", @@ -63448,7 +63780,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L952", + "source_location": "L978", "weight": 1.0, "source": "app_api_crm_customer_into_pool", "target": "app_api_crm_py_session", @@ -63459,7 +63791,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1172", + "source_location": "L1198", "weight": 1.0, "source": "app_api_crm_customer_key", "target": "app_api_crm_py_session", @@ -63470,7 +63802,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L356", + "source_location": "L358", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_api_crm_py_session", @@ -63481,7 +63813,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1270", + "source_location": "L1296", "weight": 1.0, "source": "app_api_crm_customer_long_time_no_follow", "target": "app_api_crm_py_session", @@ -63492,7 +63824,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1104", + "source_location": "L1130", "weight": 1.0, "source": "app_api_crm_customer_mine", "target": "app_api_crm_py_session", @@ -63503,7 +63835,18 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1302", + "source_location": "L418", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_api_crm_py_session", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L1328", "weight": 1.0, "source": "app_api_crm_customer_park_area_list", "target": "app_api_crm_py_session", @@ -63514,7 +63857,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1138", + "source_location": "L1164", "weight": 1.0, "source": "app_api_crm_customer_to_follow", "target": "app_api_crm_py_session", @@ -63525,7 +63868,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L926", + "source_location": "L952", "weight": 1.0, "source": "app_api_crm_customer_transfer", "target": "app_api_crm_py_session", @@ -63536,7 +63879,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L447", + "source_location": "L472", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_api_crm_py_session", @@ -63547,7 +63890,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1238", + "source_location": "L1264", "weight": 1.0, "source": "app_api_crm_customer_week_new", "target": "app_api_crm_py_session", @@ -63558,7 +63901,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1815", + "source_location": "L1841", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_api_crm_py_session", @@ -63569,7 +63912,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1794", + "source_location": "L1820", "weight": 1.0, "source": "app_api_crm_follow_by_customer", "target": "app_api_crm_py_session", @@ -63580,7 +63923,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1858", + "source_location": "L1884", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_api_crm_py_session", @@ -63591,7 +63934,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1768", + "source_location": "L1794", "weight": 1.0, "source": "app_api_crm_follow_detail", "target": "app_api_crm_py_session", @@ -63602,7 +63945,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1875", + "source_location": "L1901", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_api_crm_py_session", @@ -63613,7 +63956,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1736", + "source_location": "L1762", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_api_crm_py_session", @@ -63624,7 +63967,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1839", + "source_location": "L1865", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_api_crm_py_session", @@ -63635,7 +63978,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3328", + "source_location": "L3354", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_api_crm_py_session", @@ -63646,7 +63989,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3313", + "source_location": "L3339", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer", "target": "app_api_crm_py_session", @@ -63657,7 +64000,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3284", + "source_location": "L3310", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_api_crm_py_session", @@ -63668,7 +64011,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3381", + "source_location": "L3407", "weight": 1.0, "source": "app_api_crm_invoice_info_delete", "target": "app_api_crm_py_session", @@ -63679,7 +64022,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3298", + "source_location": "L3324", "weight": 1.0, "source": "app_api_crm_invoice_info_list", "target": "app_api_crm_py_session", @@ -63690,7 +64033,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3404", + "source_location": "L3430", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_api_crm_py_session", @@ -63701,7 +64044,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3353", + "source_location": "L3379", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_api_crm_py_session", @@ -63712,7 +64055,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2337", + "source_location": "L2363", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_api_crm_py_session", @@ -63723,7 +64066,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2403", + "source_location": "L2429", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_api_crm_py_session", @@ -63734,7 +64077,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2546", + "source_location": "L2572", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_api_crm_py_session", @@ -63745,7 +64088,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2517", + "source_location": "L2543", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_api_crm_py_session", @@ -63756,7 +64099,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2430", + "source_location": "L2456", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_api_crm_py_session", @@ -63767,7 +64110,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2382", + "source_location": "L2408", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_api_crm_py_session", @@ -63778,7 +64121,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2307", + "source_location": "L2333", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_api_crm_py_session", @@ -63789,7 +64132,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3039", + "source_location": "L3065", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_api_crm_py_session", @@ -63800,7 +64143,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2774", + "source_location": "L2800", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_api_crm_py_session", @@ -63811,7 +64154,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2822", + "source_location": "L2848", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_api_crm_py_session", @@ -63822,7 +64165,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2846", + "source_location": "L2872", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_api_crm_py_session", @@ -63833,7 +64176,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2742", + "source_location": "L2768", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_api_crm_py_session", @@ -63844,7 +64187,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2799", + "source_location": "L2825", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_api_crm_py_session", @@ -63855,7 +64198,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2592", + "source_location": "L2618", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_api_crm_py_session", @@ -63866,7 +64209,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2241", + "source_location": "L2267", "weight": 1.0, "source": "app_api_crm_opportunity_list", "target": "app_api_crm_py_session", @@ -63877,7 +64220,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2488", + "source_location": "L2514", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_api_crm_py_session", @@ -63888,7 +64231,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2460", + "source_location": "L2486", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_api_crm_py_session", @@ -63899,7 +64242,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2274", + "source_location": "L2300", "weight": 1.0, "source": "app_api_crm_opportunity_mine_list", "target": "app_api_crm_py_session", @@ -63910,7 +64253,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2920", + "source_location": "L2946", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_api_crm_py_session", @@ -63921,7 +64264,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2945", + "source_location": "L2971", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_api_crm_py_session", @@ -63932,7 +64275,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2998", + "source_location": "L3024", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_api_crm_py_session", @@ -63943,7 +64286,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3019", + "source_location": "L3045", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_api_crm_py_session", @@ -63954,7 +64297,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2866", + "source_location": "L2892", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_api_crm_py_session", @@ -63965,7 +64308,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2899", + "source_location": "L2925", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_api_crm_py_session", @@ -63976,7 +64319,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2975", + "source_location": "L3001", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_api_crm_py_session", @@ -63987,7 +64330,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2574", + "source_location": "L2600", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_api_crm_py_session", @@ -63998,7 +64341,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2716", + "source_location": "L2742", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_api_crm_py_session", @@ -64009,7 +64352,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2623", + "source_location": "L2649", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_api_crm_py_session", @@ -64020,7 +64363,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2691", + "source_location": "L2717", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_owner", "target": "app_api_crm_py_session", @@ -64031,7 +64374,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2649", + "source_location": "L2675", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_stage", "target": "app_api_crm_py_session", @@ -64042,7 +64385,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2665", + "source_location": "L2691", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_api_crm_py_session", @@ -64053,7 +64396,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2361", + "source_location": "L2387", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_api_crm_py_session", @@ -64064,7 +64407,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1354", + "source_location": "L1380", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_api_crm_py_session", @@ -64075,7 +64418,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1373", + "source_location": "L1399", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_api_crm_py_session", @@ -64086,7 +64429,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1322", + "source_location": "L1348", "weight": 1.0, "source": "app_api_crm_pool_customer_list", "target": "app_api_crm_py_session", @@ -64097,7 +64440,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1421", + "source_location": "L1447", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_api_crm_py_session", @@ -64108,7 +64451,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1391", + "source_location": "L1417", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_api_crm_py_session", @@ -64119,7 +64462,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1960", + "source_location": "L1986", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_api_crm_py_session", @@ -64130,7 +64473,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2016", + "source_location": "L2042", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_api_crm_py_session", @@ -64141,7 +64484,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1939", + "source_location": "L1965", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_api_crm_py_session", @@ -64152,7 +64495,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2053", + "source_location": "L2079", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_api_crm_py_session", @@ -64163,7 +64506,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1908", + "source_location": "L1934", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_api_crm_py_session", @@ -64174,7 +64517,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1987", + "source_location": "L2013", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_api_crm_py_session", @@ -64185,7 +64528,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2033", + "source_location": "L2059", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_api_crm_py_session", @@ -64196,7 +64539,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4466", + "source_location": "L4492", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_api_crm_py_session", @@ -64207,7 +64550,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4444", + "source_location": "L4470", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_api_crm_py_session", @@ -64218,7 +64561,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4403", + "source_location": "L4429", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_api_crm_py_session", @@ -64229,7 +64572,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4493", + "source_location": "L4519", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_api_crm_py_session", @@ -64240,7 +64583,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4524", + "source_location": "L4550", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_api_crm_py_session", @@ -64251,7 +64594,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L635", + "source_location": "L660", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_api_crm_py_session", @@ -64262,7 +64605,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L680", + "source_location": "L705", "weight": 1.0, "source": "app_api_crm_product_delete", "target": "app_api_crm_py_session", @@ -64273,7 +64616,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L614", + "source_location": "L639", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_api_crm_py_session", @@ -64284,7 +64627,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L847", + "source_location": "L873", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_api_crm_py_session", @@ -64295,7 +64638,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L756", + "source_location": "L782", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_api_crm_py_session", @@ -64306,7 +64649,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L577", + "source_location": "L602", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_api_crm_py_session", @@ -64317,7 +64660,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L729", + "source_location": "L754", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_api_crm_py_session", @@ -64328,7 +64671,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L659", + "source_location": "L684", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_api_crm_py_session", @@ -64339,7 +64682,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L708", + "source_location": "L733", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_api_crm_py_session", @@ -64350,7 +64693,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2187", + "source_location": "L2213", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_api_crm_py_session", @@ -64361,7 +64704,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2128", + "source_location": "L2154", "weight": 1.0, "source": "app_api_crm_statistics_industry", "target": "app_api_crm_py_session", @@ -64372,7 +64715,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2110", + "source_location": "L2136", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_api_crm_py_session", @@ -64383,7 +64726,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2072", + "source_location": "L2098", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_api_crm_py_session", @@ -64394,7 +64737,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2169", + "source_location": "L2195", "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_api_crm_py_session", @@ -64405,7 +64748,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2092", + "source_location": "L2118", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_api_crm_py_session", @@ -64416,7 +64759,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2146", + "source_location": "L2172", "weight": 1.0, "source": "app_api_crm_statistics_trend", "target": "app_api_crm_py_session", @@ -64427,7 +64770,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3164", + "source_location": "L3190", "weight": 1.0, "source": "app_api_crm_supplier_info_add", "target": "app_api_crm_py_session", @@ -64438,7 +64781,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3218", + "source_location": "L3244", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_api_crm_py_session", @@ -64449,7 +64792,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3141", + "source_location": "L3167", "weight": 1.0, "source": "app_api_crm_supplier_info_detail", "target": "app_api_crm_py_session", @@ -64460,7 +64803,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3247", + "source_location": "L3273", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_api_crm_py_session", @@ -64471,7 +64814,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3081", + "source_location": "L3107", "weight": 1.0, "source": "app_api_crm_supplier_info_list", "target": "app_api_crm_py_session", @@ -64482,7 +64825,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3116", + "source_location": "L3142", "weight": 1.0, "source": "app_api_crm_supplier_info_list_all", "target": "app_api_crm_py_session", @@ -64493,7 +64836,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3190", + "source_location": "L3216", "weight": 1.0, "source": "app_api_crm_supplier_info_update", "target": "app_api_crm_py_session", @@ -64505,7 +64848,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L384", + "source_location": "L386", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_core_response_error_response" @@ -64516,7 +64859,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L376", + "source_location": "L378", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_core_response_success_response" @@ -64527,7 +64870,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L363", + "source_location": "L365", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_core_tenant_context_get_tenant_no" @@ -64538,7 +64881,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L367", + "source_location": "L369", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_crud_crm_customer_list_customers" @@ -64549,7 +64892,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L364", + "source_location": "L366", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -64559,7 +64902,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L356", + "source_location": "L358", "weight": 1.0, "source": "app_api_crm_customer_list", "target": "app_schemas_crm_customer_customerlistbody", @@ -64571,7 +64914,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L399", + "source_location": "L401", "weight": 1.0, "source": "app_api_crm_customer_detail", "target": "app_core_response_error_response" @@ -64582,44 +64925,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L408", + "source_location": "L410", "weight": 1.0, "source": "app_api_crm_customer_detail", "target": "app_core_response_success_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L403", - "weight": 1.0, - "source": "app_api_crm_customer_detail", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L400", - "weight": 1.0, - "source": "app_api_crm_customer_detail", - "target": "app_crud_crm_customer_get_customer" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L404", - "weight": 1.0, - "source": "app_api_crm_customer_detail", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, { "relation": "calls", "context": "call", @@ -64629,6 +64939,39 @@ "source_location": "L405", "weight": 1.0, "source": "app_api_crm_customer_detail", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L402", + "weight": 1.0, + "source": "app_api_crm_customer_detail", + "target": "app_crud_crm_customer_get_customer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L406", + "weight": 1.0, + "source": "app_api_crm_customer_detail", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L407", + "weight": 1.0, + "source": "app_api_crm_customer_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_owner_row_in_scope" }, { @@ -64637,7 +64980,72 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L429", + "source_location": "L435", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L433", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L425", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L427", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_crud_crm_customer_list_customer_options" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L418", + "weight": 1.0, + "source": "app_api_crm_customer_options", + "target": "app_schemas_crm_customer_customeroptionsbody", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L423", + "weight": 1.0, + "source": "app_api_crm_rationale_423", + "target": "app_api_crm_customer_options", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L454", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_core_response_error_response" @@ -64648,7 +65056,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L438", + "source_location": "L463", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_core_response_success_response" @@ -64659,7 +65067,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L424", + "source_location": "L449", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_core_tenant_context_get_tenant_no" @@ -64670,7 +65078,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L431", + "source_location": "L456", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_crud_crm_customer_create_customer" @@ -64681,7 +65089,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L428", + "source_location": "L453", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_crud_crm_customer_customer_name_exists" @@ -64691,7 +65099,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L417", + "source_location": "L442", "weight": 1.0, "source": "app_api_crm_customer_create", "target": "app_schemas_crm_customer_customercreatebody", @@ -64703,7 +65111,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L462", + "source_location": "L487", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_core_response_error_response" @@ -64714,7 +65122,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L465", + "source_location": "L490", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_core_response_success_response" @@ -64725,7 +65133,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L454", + "source_location": "L479", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_core_tenant_context_get_tenant_no" @@ -64736,7 +65144,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L461", + "source_location": "L486", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_crud_crm_customer_customer_name_exists" @@ -64747,7 +65155,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L464", + "source_location": "L489", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_crud_crm_customer_update_customer" @@ -64758,7 +65166,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L455", + "source_location": "L480", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -64768,7 +65176,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L447", + "source_location": "L472", "weight": 1.0, "source": "app_api_crm_customer_update", "target": "app_schemas_crm_customer_customerupdatebody", @@ -64780,7 +65188,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L498", + "source_location": "L523", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_core_response_error_response" @@ -64791,7 +65199,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L496", + "source_location": "L521", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_core_response_success_response" @@ -64802,7 +65210,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L481", + "source_location": "L506", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -64813,7 +65221,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L487", + "source_location": "L512", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_crud_crm_customer_soft_delete_customer" @@ -64824,7 +65232,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L482", + "source_location": "L507", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -64834,7 +65242,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L474", + "source_location": "L499", "weight": 1.0, "source": "app_api_crm_customer_delete", "target": "app_schemas_crm_customer_customerdeletebody", @@ -64846,7 +65254,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L513", + "source_location": "L538", "weight": 1.0, "source": "app_api_crm_customer_generate_no", "target": "app_core_response_error_response" @@ -64857,7 +65265,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L511", + "source_location": "L536", "weight": 1.0, "source": "app_api_crm_customer_generate_no", "target": "app_core_response_success_response" @@ -64868,7 +65276,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L509", + "source_location": "L534", "weight": 1.0, "source": "app_api_crm_customer_generate_no", "target": "app_core_tenant_context_get_tenant_no" @@ -64879,7 +65287,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L510", + "source_location": "L535", "weight": 1.0, "source": "app_api_crm_customer_generate_no", "target": "app_crud_crm_customer_generate_customer_no" @@ -64890,7 +65298,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L531", + "source_location": "L556", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_core_response_error_response" @@ -64901,7 +65309,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L529", + "source_location": "L554", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_core_response_success_response" @@ -64912,7 +65320,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L525", + "source_location": "L550", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_core_tenant_context_get_tenant_no" @@ -64923,7 +65331,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L529", + "source_location": "L554", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_crud_crm_product_category_row_to_dict" @@ -64934,7 +65342,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L528", + "source_location": "L553", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_crud_crm_product_create_category" @@ -64944,7 +65352,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L518", + "source_location": "L543", "weight": 1.0, "source": "app_api_crm_category_add", "target": "app_schemas_crm_product_productcategorycreatebody", @@ -64956,7 +65364,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L551", + "source_location": "L576", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_core_response_error_response" @@ -64967,7 +65375,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L549", + "source_location": "L574", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_core_response_success_response" @@ -64978,7 +65386,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L544", + "source_location": "L569", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -64989,7 +65397,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L549", + "source_location": "L574", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_crud_crm_product_category_row_to_dict" @@ -65000,7 +65408,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L548", + "source_location": "L573", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_crud_crm_product_update_category" @@ -65010,7 +65418,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L537", + "source_location": "L562", "weight": 1.0, "source": "app_api_crm_category_update", "target": "app_schemas_crm_product_productcategoryupdatebody", @@ -65022,7 +65430,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L568", + "source_location": "L593", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_core_response_error_response" @@ -65033,7 +65441,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L566", + "source_location": "L591", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_core_response_success_response" @@ -65044,7 +65452,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L564", + "source_location": "L589", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65055,7 +65463,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L565", + "source_location": "L590", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_crud_crm_product_soft_delete_category" @@ -65065,7 +65473,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L557", + "source_location": "L582", "weight": 1.0, "source": "app_api_crm_category_delete", "target": "app_schemas_crm_product_categorydeletebody", @@ -65077,7 +65485,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L608", + "source_location": "L633", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_core_response_error_response" @@ -65088,7 +65496,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L598", + "source_location": "L623", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_core_response_success_response" @@ -65099,7 +65507,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L584", + "source_location": "L609", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_core_tenant_context_get_tenant_no" @@ -65110,7 +65518,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L585", + "source_location": "L610", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65121,7 +65529,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L586", + "source_location": "L611", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_crud_crm_product_list_products" @@ -65131,7 +65539,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L577", + "source_location": "L602", "weight": 1.0, "source": "app_api_crm_product_list", "target": "app_schemas_crm_product_productlistbody", @@ -65143,7 +65551,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L625", + "source_location": "L650", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_core_response_error_response" @@ -65154,7 +65562,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L627", + "source_location": "L652", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_core_response_success_response" @@ -65165,7 +65573,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L621", + "source_location": "L646", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -65176,7 +65584,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L622", + "source_location": "L647", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65187,7 +65595,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L626", + "source_location": "L651", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" @@ -65198,7 +65606,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L623", + "source_location": "L648", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_crud_crm_product_get_product" @@ -65209,7 +65617,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L627", + "source_location": "L652", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_crud_crm_product_product_to_dict" @@ -65219,7 +65627,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L614", + "source_location": "L639", "weight": 1.0, "source": "app_api_crm_product_detail", "target": "app_schemas_crm_product_productdetailbody", @@ -65231,7 +65639,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L653", + "source_location": "L678", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_core_response_error_response" @@ -65242,7 +65650,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L651", + "source_location": "L676", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_core_response_success_response" @@ -65253,7 +65661,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L642", + "source_location": "L667", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_core_tenant_context_get_tenant_no" @@ -65264,7 +65672,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L643", + "source_location": "L668", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65275,7 +65683,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L645", + "source_location": "L670", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_crud_crm_product_create_product" @@ -65286,7 +65694,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L651", + "source_location": "L676", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_crud_crm_product_product_to_dict" @@ -65296,7 +65704,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L635", + "source_location": "L660", "weight": 1.0, "source": "app_api_crm_product_add", "target": "app_schemas_crm_product_productcreatebody", @@ -65308,7 +65716,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L674", + "source_location": "L699", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_core_response_error_response" @@ -65319,7 +65727,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L672", + "source_location": "L697", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_core_response_success_response" @@ -65330,7 +65738,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L669", + "source_location": "L694", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_core_tenant_context_get_tenant_no" @@ -65341,7 +65749,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L670", + "source_location": "L695", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65352,7 +65760,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L672", + "source_location": "L697", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_crud_crm_product_product_to_dict" @@ -65363,7 +65771,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L671", + "source_location": "L696", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_crud_crm_product_update_product" @@ -65373,7 +65781,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L659", + "source_location": "L684", "weight": 1.0, "source": "app_api_crm_product_update", "target": "app_schemas_crm_product_productupdatebody", @@ -65385,7 +65793,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L695", + "source_location": "L720", "weight": 1.0, "source": "app_api_crm_product_delete", "target": "app_core_response_error_response" @@ -65396,7 +65804,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L700", + "source_location": "L725", "weight": 1.0, "source": "app_api_crm_product_delete", "target": "app_core_response_success_response" @@ -65407,7 +65815,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L687", + "source_location": "L712", "weight": 1.0, "source": "app_api_crm_product_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -65418,43 +65826,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L688", + "source_location": "L713", "weight": 1.0, "source": "app_api_crm_product_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L698", - "weight": 1.0, - "source": "app_api_crm_product_delete", - "target": "app_crud_crm_product_soft_delete_product" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L680", - "weight": 1.0, - "source": "app_api_crm_product_delete", - "target": "app_schemas_crm_product_productdeletebody", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L685", - "weight": 1.0, - "source": "app_api_crm_rationale_685", - "target": "app_api_crm_product_delete", - "confidence_score": 1.0 - }, { "relation": "calls", "context": "call", @@ -65463,6 +65839,38 @@ "source_file": "app/api/crm.py", "source_location": "L723", "weight": 1.0, + "source": "app_api_crm_product_delete", + "target": "app_crud_crm_product_soft_delete_product" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L705", + "weight": 1.0, + "source": "app_api_crm_product_delete", + "target": "app_schemas_crm_product_productdeletebody", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L710", + "weight": 1.0, + "source": "app_api_crm_rationale_710", + "target": "app_api_crm_product_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L748", + "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_core_response_error_response" }, @@ -65472,7 +65880,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L721", + "source_location": "L746", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_core_response_success_response" @@ -65483,7 +65891,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L715", + "source_location": "L740", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_core_tenant_context_get_tenant_no" @@ -65494,7 +65902,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L716", + "source_location": "L741", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65505,7 +65913,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L720", + "source_location": "L745", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_crud_crm_product_update_product" @@ -65515,7 +65923,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L708", + "source_location": "L733", "weight": 1.0, "source": "app_api_crm_product_update_status", "target": "app_schemas_crm_product_productupdatestatusbody", @@ -65527,7 +65935,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L747", + "source_location": "L773", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_core_response_error_response" @@ -65538,7 +65946,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L745", + "source_location": "L771", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_core_response_success_response" @@ -65549,7 +65957,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L736", + "source_location": "L761", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_core_tenant_context_get_tenant_no" @@ -65560,7 +65968,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L737", + "source_location": "L762", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65571,7 +65979,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L738", + "source_location": "L763", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_crud_crm_product_list_product_options" @@ -65581,7 +65989,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L729", + "source_location": "L754", "weight": 1.0, "source": "app_api_crm_product_options", "target": "app_schemas_crm_product_productoptionsbody", @@ -65592,7 +66000,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L756", + "source_location": "L782", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_api_crm_py_uploadfile", @@ -65604,7 +66012,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L841", + "source_location": "L867", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_core_response_error_response" @@ -65615,7 +66023,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L837", + "source_location": "L863", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_core_response_success_response" @@ -65626,7 +66034,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L765", + "source_location": "L791", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_core_tenant_context_get_tenant_no" @@ -65637,7 +66045,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L766", + "source_location": "L792", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65648,7 +66056,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L819", + "source_location": "L845", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_crud_crm_product_create_product" @@ -65659,7 +66067,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L774", + "source_location": "L800", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_crud_crm_product_list_categories" @@ -65670,7 +66078,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L804", + "source_location": "L830", "weight": 1.0, "source": "app_api_crm_product_import", "target": "app_crud_crm_product_product_no_exists" @@ -65680,7 +66088,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4140", + "source_location": "L4166", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_api_crm_py_uploadfile", @@ -65692,7 +66100,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L876", + "source_location": "L902", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_core_response_error_response" @@ -65703,7 +66111,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L854", + "source_location": "L880", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_core_tenant_context_get_tenant_no" @@ -65714,7 +66122,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L855", + "source_location": "L881", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65725,7 +66133,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L856", + "source_location": "L882", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_crud_crm_product_list_products" @@ -65735,7 +66143,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L847", + "source_location": "L873", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_schemas_crm_product_productlistbody", @@ -65747,7 +66155,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L867", + "source_location": "L893", "weight": 1.0, "source": "app_api_crm_product_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -65758,7 +66166,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L918", + "source_location": "L944", "weight": 1.0, "source": "app_api_crm_product_import_template", "target": "app_core_response_error_response" @@ -65769,7 +66177,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "app/api/crm.py", - "source_location": "L910", + "source_location": "L936", "weight": 1.0, "source": "app_api_crm_product_import_template", "target": "streamingresponse" @@ -65780,7 +66188,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L940", + "source_location": "L966", "weight": 1.0, "source": "app_api_crm_customer_transfer", "target": "app_core_response_error_response" @@ -65791,66 +66199,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L943", + "source_location": "L969", "weight": 1.0, "source": "app_api_crm_customer_transfer", "target": "app_core_response_success_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L933", - "weight": 1.0, - "source": "app_api_crm_customer_transfer", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L942", - "weight": 1.0, - "source": "app_api_crm_customer_transfer", - "target": "app_crud_crm_customer_transfer_customer" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L934", - "weight": 1.0, - "source": "app_api_crm_customer_transfer", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L965", - "weight": 1.0, - "source": "app_api_crm_customer_into_pool", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L968", - "weight": 1.0, - "source": "app_api_crm_customer_into_pool", - "target": "app_core_response_success_response" - }, { "relation": "calls", "context": "call", @@ -65859,6 +66212,61 @@ "source_file": "app/api/crm.py", "source_location": "L959", "weight": 1.0, + "source": "app_api_crm_customer_transfer", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L968", + "weight": 1.0, + "source": "app_api_crm_customer_transfer", + "target": "app_crud_crm_customer_transfer_customer" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L960", + "weight": 1.0, + "source": "app_api_crm_customer_transfer", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L991", + "weight": 1.0, + "source": "app_api_crm_customer_into_pool", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L994", + "weight": 1.0, + "source": "app_api_crm_customer_into_pool", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L985", + "weight": 1.0, "source": "app_api_crm_customer_into_pool", "target": "app_core_tenant_context_get_tenant_no" }, @@ -65868,7 +66276,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L967", + "source_location": "L993", "weight": 1.0, "source": "app_api_crm_customer_into_pool", "target": "app_crud_crm_customer_into_pool" @@ -65879,7 +66287,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L960", + "source_location": "L986", "weight": 1.0, "source": "app_api_crm_customer_into_pool", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65890,7 +66298,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1000", + "source_location": "L1026", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_core_response_error_response" @@ -65901,7 +66309,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L998", + "source_location": "L1024", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_core_response_success_response" @@ -65912,7 +66320,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L996", + "source_location": "L1022", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_core_tenant_context_get_tenant_no" @@ -65923,7 +66331,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L989", + "source_location": "L1015", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_crud_crm_customer_deal_customer" @@ -65934,7 +66342,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L995", + "source_location": "L1021", "weight": 1.0, "source": "app_api_crm_customer_deal", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -65945,7 +66353,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1022", + "source_location": "L1048", "weight": 1.0, "source": "app_api_crm_customer_check_duplicate", "target": "app_core_response_error_response" @@ -65956,7 +66364,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1020", + "source_location": "L1046", "weight": 1.0, "source": "app_api_crm_customer_check_duplicate", "target": "app_core_response_success_response" @@ -65967,7 +66375,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1013", + "source_location": "L1039", "weight": 1.0, "source": "app_api_crm_customer_check_duplicate", "target": "app_core_tenant_context_get_tenant_no" @@ -65978,7 +66386,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1017", + "source_location": "L1043", "weight": 1.0, "source": "app_api_crm_customer_check_duplicate", "target": "app_crud_crm_customer_check_duplicate_customer" @@ -65989,7 +66397,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1059", + "source_location": "L1085", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_core_response_error_response" @@ -66000,7 +66408,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1036", + "source_location": "L1062", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_core_tenant_context_get_tenant_no" @@ -66011,7 +66419,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1040", + "source_location": "L1066", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_crud_crm_customer_list_customers" @@ -66022,7 +66430,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1037", + "source_location": "L1063", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66032,7 +66440,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1029", + "source_location": "L1055", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_schemas_crm_customer_customerlistbody", @@ -66044,7 +66452,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1050", + "source_location": "L1076", "weight": 1.0, "source": "app_api_crm_customer_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -66055,7 +66463,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1097", + "source_location": "L1123", "weight": 1.0, "source": "app_api_crm_customer_import_template", "target": "app_core_response_error_response" @@ -66066,88 +66474,11 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "app/api/crm.py", - "source_location": "L1089", + "source_location": "L1115", "weight": 1.0, "source": "app_api_crm_customer_import_template", "target": "streamingresponse" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1132", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1124", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1111", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1115", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_crud_crm_customer_list_customers" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1112", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L1104", - "weight": 1.0, - "source": "app_api_crm_customer_mine", - "target": "app_schemas_crm_customer_customerlistbody", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1166", - "weight": 1.0, - "source": "app_api_crm_customer_to_follow", - "target": "app_core_response_error_response" - }, { "relation": "calls", "context": "call", @@ -66156,7 +66487,18 @@ "source_file": "app/api/crm.py", "source_location": "L1158", "weight": 1.0, - "source": "app_api_crm_customer_to_follow", + "source": "app_api_crm_customer_mine", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1150", + "weight": 1.0, + "source": "app_api_crm_customer_mine", "target": "app_core_response_success_response" }, { @@ -66165,9 +66507,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1145", + "source_location": "L1137", "weight": 1.0, - "source": "app_api_crm_customer_to_follow", + "source": "app_api_crm_customer_mine", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -66176,9 +66518,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1149", + "source_location": "L1141", "weight": 1.0, - "source": "app_api_crm_customer_to_follow", + "source": "app_api_crm_customer_mine", "target": "app_crud_crm_customer_list_customers" }, { @@ -66187,32 +66529,21 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1146", - "weight": 1.0, - "source": "app_api_crm_customer_to_follow", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", "source_location": "L1138", "weight": 1.0, - "source": "app_api_crm_customer_to_follow", - "target": "app_schemas_crm_customer_customerlistbody", - "confidence_score": 1.0 + "source": "app_api_crm_customer_mine", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { - "relation": "calls", - "context": "call", + "relation": "references", + "context": "parameter_type", "confidence": "EXTRACTED", - "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1200", + "source_location": "L1130", "weight": 1.0, - "source": "app_api_crm_customer_key", - "target": "app_core_response_error_response" + "source": "app_api_crm_customer_mine", + "target": "app_schemas_crm_customer_customerlistbody", + "confidence_score": 1.0 }, { "relation": "calls", @@ -66222,7 +66553,18 @@ "source_file": "app/api/crm.py", "source_location": "L1192", "weight": 1.0, - "source": "app_api_crm_customer_key", + "source": "app_api_crm_customer_to_follow", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1184", + "weight": 1.0, + "source": "app_api_crm_customer_to_follow", "target": "app_core_response_success_response" }, { @@ -66231,9 +66573,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1179", + "source_location": "L1171", "weight": 1.0, - "source": "app_api_crm_customer_key", + "source": "app_api_crm_customer_to_follow", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -66242,9 +66584,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1183", + "source_location": "L1175", "weight": 1.0, - "source": "app_api_crm_customer_key", + "source": "app_api_crm_customer_to_follow", "target": "app_crud_crm_customer_list_customers" }, { @@ -66253,9 +66595,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1180", + "source_location": "L1172", "weight": 1.0, - "source": "app_api_crm_customer_key", + "source": "app_api_crm_customer_to_follow", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -66263,9 +66605,9 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1172", + "source_location": "L1164", "weight": 1.0, - "source": "app_api_crm_customer_key", + "source": "app_api_crm_customer_to_follow", "target": "app_schemas_crm_customer_customerlistbody", "confidence_score": 1.0 }, @@ -66275,33 +66617,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1232", + "source_location": "L1226", "weight": 1.0, - "source": "app_api_crm_customer_dealed", + "source": "app_api_crm_customer_key", "target": "app_core_response_error_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1224", - "weight": 1.0, - "source": "app_api_crm_customer_dealed", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1213", - "weight": 1.0, - "source": "app_api_crm_customer_dealed", - "target": "app_core_tenant_context_get_tenant_no" - }, { "relation": "calls", "context": "call", @@ -66310,7 +66630,29 @@ "source_file": "app/api/crm.py", "source_location": "L1218", "weight": 1.0, - "source": "app_api_crm_customer_dealed", + "source": "app_api_crm_customer_key", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1205", + "weight": 1.0, + "source": "app_api_crm_customer_key", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1209", + "weight": 1.0, + "source": "app_api_crm_customer_key", "target": "app_crud_crm_customer_list_customers" }, { @@ -66319,9 +66661,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1214", + "source_location": "L1206", "weight": 1.0, - "source": "app_api_crm_customer_dealed", + "source": "app_api_crm_customer_key", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -66329,9 +66671,9 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1206", + "source_location": "L1198", "weight": 1.0, - "source": "app_api_crm_customer_dealed", + "source": "app_api_crm_customer_key", "target": "app_schemas_crm_customer_customerlistbody", "confidence_score": 1.0 }, @@ -66341,33 +66683,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1264", + "source_location": "L1258", "weight": 1.0, - "source": "app_api_crm_customer_week_new", + "source": "app_api_crm_customer_dealed", "target": "app_core_response_error_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1256", - "weight": 1.0, - "source": "app_api_crm_customer_week_new", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1245", - "weight": 1.0, - "source": "app_api_crm_customer_week_new", - "target": "app_core_tenant_context_get_tenant_no" - }, { "relation": "calls", "context": "call", @@ -66376,7 +66696,29 @@ "source_file": "app/api/crm.py", "source_location": "L1250", "weight": 1.0, - "source": "app_api_crm_customer_week_new", + "source": "app_api_crm_customer_dealed", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1239", + "weight": 1.0, + "source": "app_api_crm_customer_dealed", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1244", + "weight": 1.0, + "source": "app_api_crm_customer_dealed", "target": "app_crud_crm_customer_list_customers" }, { @@ -66385,9 +66727,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1246", + "source_location": "L1240", "weight": 1.0, - "source": "app_api_crm_customer_week_new", + "source": "app_api_crm_customer_dealed", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -66395,9 +66737,9 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1238", + "source_location": "L1232", "weight": 1.0, - "source": "app_api_crm_customer_week_new", + "source": "app_api_crm_customer_dealed", "target": "app_schemas_crm_customer_customerlistbody", "confidence_score": 1.0 }, @@ -66407,33 +66749,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1296", + "source_location": "L1290", "weight": 1.0, - "source": "app_api_crm_customer_long_time_no_follow", + "source": "app_api_crm_customer_week_new", "target": "app_core_response_error_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1288", - "weight": 1.0, - "source": "app_api_crm_customer_long_time_no_follow", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1277", - "weight": 1.0, - "source": "app_api_crm_customer_long_time_no_follow", - "target": "app_core_tenant_context_get_tenant_no" - }, { "relation": "calls", "context": "call", @@ -66442,6 +66762,94 @@ "source_file": "app/api/crm.py", "source_location": "L1282", "weight": 1.0, + "source": "app_api_crm_customer_week_new", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1271", + "weight": 1.0, + "source": "app_api_crm_customer_week_new", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1276", + "weight": 1.0, + "source": "app_api_crm_customer_week_new", + "target": "app_crud_crm_customer_list_customers" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1272", + "weight": 1.0, + "source": "app_api_crm_customer_week_new", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L1264", + "weight": 1.0, + "source": "app_api_crm_customer_week_new", + "target": "app_schemas_crm_customer_customerlistbody", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1322", + "weight": 1.0, + "source": "app_api_crm_customer_long_time_no_follow", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1314", + "weight": 1.0, + "source": "app_api_crm_customer_long_time_no_follow", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1303", + "weight": 1.0, + "source": "app_api_crm_customer_long_time_no_follow", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1308", + "weight": 1.0, "source": "app_api_crm_customer_long_time_no_follow", "target": "app_crud_crm_customer_list_customers" }, @@ -66451,7 +66859,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1278", + "source_location": "L1304", "weight": 1.0, "source": "app_api_crm_customer_long_time_no_follow", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66461,56 +66869,12 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1270", + "source_location": "L1296", "weight": 1.0, "source": "app_api_crm_customer_long_time_no_follow", "target": "app_schemas_crm_customer_customerlistbody", "confidence_score": 1.0 }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1313", - "weight": 1.0, - "source": "app_api_crm_customer_park_area_list", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1311", - "weight": 1.0, - "source": "app_api_crm_customer_park_area_list", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1309", - "weight": 1.0, - "source": "app_api_crm_customer_park_area_list", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1347", - "weight": 1.0, - "source": "app_api_crm_pool_customer_list", - "target": "app_core_response_error_response" - }, { "relation": "calls", "context": "call", @@ -66519,6 +66883,50 @@ "source_file": "app/api/crm.py", "source_location": "L1339", "weight": 1.0, + "source": "app_api_crm_customer_park_area_list", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1337", + "weight": 1.0, + "source": "app_api_crm_customer_park_area_list", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1335", + "weight": 1.0, + "source": "app_api_crm_customer_park_area_list", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1373", + "weight": 1.0, + "source": "app_api_crm_pool_customer_list", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1365", + "weight": 1.0, "source": "app_api_crm_pool_customer_list", "target": "app_core_response_success_response" }, @@ -66528,7 +66936,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1328", + "source_location": "L1354", "weight": 1.0, "source": "app_api_crm_pool_customer_list", "target": "app_core_tenant_context_get_tenant_no" @@ -66539,7 +66947,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1331", + "source_location": "L1357", "weight": 1.0, "source": "app_api_crm_pool_customer_list", "target": "app_crud_crm_customer_list_pool_customers" @@ -66549,7 +66957,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1322", + "source_location": "L1348", "weight": 1.0, "source": "app_api_crm_pool_customer_list", "target": "app_schemas_crm_customer_pool_poolcustomerlistbody", @@ -66561,7 +66969,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1366", + "source_location": "L1392", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_core_response_error_response" @@ -66572,7 +66980,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1364", + "source_location": "L1390", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_core_response_success_response" @@ -66583,7 +66991,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1360", + "source_location": "L1386", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_core_tenant_context_get_tenant_no" @@ -66594,7 +67002,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1363", + "source_location": "L1389", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_crud_crm_customer_assign_customer" @@ -66605,7 +67013,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1361", + "source_location": "L1387", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66615,7 +67023,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1354", + "source_location": "L1380", "weight": 1.0, "source": "app_api_crm_pool_customer_assign", "target": "app_schemas_crm_customer_pool_poolassignbody", @@ -66627,7 +67035,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1385", + "source_location": "L1411", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_core_response_error_response" @@ -66638,7 +67046,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1383", + "source_location": "L1409", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_core_response_success_response" @@ -66649,7 +67057,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1379", + "source_location": "L1405", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_core_tenant_context_get_tenant_no" @@ -66660,7 +67068,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1382", + "source_location": "L1408", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_crud_crm_customer_batch_claim_customers" @@ -66670,7 +67078,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1373", + "source_location": "L1399", "weight": 1.0, "source": "app_api_crm_pool_customer_claim", "target": "app_schemas_crm_customer_pool_poolclaimbody", @@ -66682,7 +67090,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1415", + "source_location": "L1441", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_core_response_error_response" @@ -66693,7 +67101,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1407", + "source_location": "L1433", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_core_response_success_response" @@ -66704,7 +67112,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1397", + "source_location": "L1423", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_core_tenant_context_get_tenant_no" @@ -66715,7 +67123,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1400", + "source_location": "L1426", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_crud_crm_customer_pool_list_pool_records" @@ -66725,7 +67133,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1391", + "source_location": "L1417", "weight": 1.0, "source": "app_api_crm_pool_record_list", "target": "app_schemas_crm_customer_pool_poolrecordlistbody", @@ -66737,7 +67145,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1431", + "source_location": "L1457", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_core_response_error_response" @@ -66748,7 +67156,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1432", + "source_location": "L1458", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_core_response_success_response" @@ -66759,7 +67167,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1427", + "source_location": "L1453", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -66770,7 +67178,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1429", + "source_location": "L1455", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_crud_crm_customer_pool_get_pool_record" @@ -66780,7 +67188,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1421", + "source_location": "L1447", "weight": 1.0, "source": "app_api_crm_pool_record_detail", "target": "app_schemas_crm_customer_pool_poolrecorddetailbody", @@ -66792,7 +67200,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1473", + "source_location": "L1499", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_core_response_error_response" @@ -66803,7 +67211,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1465", + "source_location": "L1491", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_core_response_success_response" @@ -66814,7 +67222,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1450", + "source_location": "L1476", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_core_tenant_context_get_tenant_no" @@ -66825,7 +67233,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1454", + "source_location": "L1480", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_crud_crm_contact_list_contacts" @@ -66836,7 +67244,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1451", + "source_location": "L1477", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66846,7 +67254,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1443", + "source_location": "L1469", "weight": 1.0, "source": "app_api_crm_contact_list", "target": "app_schemas_crm_contact_contactlistbody", @@ -66858,7 +67266,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1488", + "source_location": "L1514", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_core_response_error_response" @@ -66869,7 +67277,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1495", + "source_location": "L1521", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_core_response_success_response" @@ -66880,7 +67288,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1489", + "source_location": "L1515", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -66891,7 +67299,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1491", + "source_location": "L1517", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_crud_crm_contact_get_contact" @@ -66902,7 +67310,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1490", + "source_location": "L1516", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66913,7 +67321,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1494", + "source_location": "L1520", "weight": 1.0, "source": "app_api_crm_contact_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_contact_row_in_scope" @@ -66924,7 +67332,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1514", + "source_location": "L1540", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_core_response_error_response" @@ -66935,7 +67343,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1516", + "source_location": "L1542", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_core_response_success_response" @@ -66946,7 +67354,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1510", + "source_location": "L1536", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_core_tenant_context_get_tenant_no" @@ -66957,7 +67365,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1515", + "source_location": "L1541", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_crud_crm_contact_list_contacts_by_customer" @@ -66968,7 +67376,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1511", + "source_location": "L1537", "weight": 1.0, "source": "app_api_crm_contact_by_customer", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -66979,7 +67387,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1541", + "source_location": "L1567", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_core_response_error_response" @@ -66990,7 +67398,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1539", + "source_location": "L1565", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_core_response_success_response" @@ -67001,7 +67409,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1531", + "source_location": "L1557", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_core_tenant_context_get_tenant_no" @@ -67012,7 +67420,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1535", + "source_location": "L1561", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_crud_crm_contact_create_contact" @@ -67023,7 +67431,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1532", + "source_location": "L1558", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67033,7 +67441,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1524", + "source_location": "L1550", "weight": 1.0, "source": "app_api_crm_contact_add", "target": "app_schemas_crm_contact_contactcreatebody", @@ -67045,7 +67453,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1562", + "source_location": "L1588", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_core_response_error_response" @@ -67056,7 +67464,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1560", + "source_location": "L1586", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_core_response_success_response" @@ -67067,7 +67475,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1557", + "source_location": "L1583", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_core_tenant_context_get_tenant_no" @@ -67078,7 +67486,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1559", + "source_location": "L1585", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_crud_crm_contact_update_contact" @@ -67089,7 +67497,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1558", + "source_location": "L1584", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67099,7 +67507,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1547", + "source_location": "L1573", "weight": 1.0, "source": "app_api_crm_contact_update", "target": "app_schemas_crm_contact_contactupdatebody", @@ -67111,7 +67519,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1582", + "source_location": "L1608", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_core_response_error_response" @@ -67122,7 +67530,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1580", + "source_location": "L1606", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_core_response_success_response" @@ -67133,7 +67541,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1575", + "source_location": "L1601", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -67144,7 +67552,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1579", + "source_location": "L1605", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_crud_crm_contact_soft_delete_contact" @@ -67155,7 +67563,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1576", + "source_location": "L1602", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67165,7 +67573,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1568", + "source_location": "L1594", "weight": 1.0, "source": "app_api_crm_contact_delete", "target": "app_schemas_crm_contact_contactdeletebody", @@ -67177,7 +67585,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1597", + "source_location": "L1623", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_core_response_error_response" @@ -67188,7 +67596,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1602", + "source_location": "L1628", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_core_response_success_response" @@ -67199,7 +67607,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1599", + "source_location": "L1625", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_core_tenant_context_get_tenant_no" @@ -67210,7 +67618,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1601", + "source_location": "L1627", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_crud_crm_contact_set_primary_contact" @@ -67221,7 +67629,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1600", + "source_location": "L1626", "weight": 1.0, "source": "app_api_crm_contact_set_primary", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67232,7 +67640,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1634", + "source_location": "L1660", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_core_response_error_response" @@ -67243,7 +67651,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1617", + "source_location": "L1643", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_core_tenant_context_get_tenant_no" @@ -67254,7 +67662,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1619", + "source_location": "L1645", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_crud_crm_contact_list_contacts" @@ -67265,7 +67673,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1618", + "source_location": "L1644", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67275,7 +67683,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1610", + "source_location": "L1636", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_schemas_crm_contact_contactlistbody", @@ -67287,7 +67695,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1625", + "source_location": "L1651", "weight": 1.0, "source": "app_api_crm_contact_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -67298,7 +67706,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1665", + "source_location": "L1691", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_core_response_error_response" @@ -67309,7 +67717,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1657", + "source_location": "L1683", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_core_response_success_response" @@ -67320,7 +67728,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1647", + "source_location": "L1673", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_core_tenant_context_get_tenant_no" @@ -67331,7 +67739,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1651", + "source_location": "L1677", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_crud_crm_contact_list_contacts" @@ -67342,7 +67750,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1648", + "source_location": "L1674", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67352,7 +67760,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1640", + "source_location": "L1666", "weight": 1.0, "source": "app_api_crm_contact_decision", "target": "app_schemas_crm_contact_contactlistbody", @@ -67364,7 +67772,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1696", + "source_location": "L1722", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_core_response_error_response" @@ -67375,7 +67783,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1688", + "source_location": "L1714", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_core_response_success_response" @@ -67386,7 +67794,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1678", + "source_location": "L1704", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_core_tenant_context_get_tenant_no" @@ -67397,7 +67805,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1682", + "source_location": "L1708", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_crud_crm_contact_list_contacts" @@ -67408,7 +67816,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1679", + "source_location": "L1705", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67418,7 +67826,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1671", + "source_location": "L1697", "weight": 1.0, "source": "app_api_crm_contact_primary", "target": "app_schemas_crm_contact_contactlistbody", @@ -67430,7 +67838,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1727", + "source_location": "L1753", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_core_response_error_response" @@ -67441,7 +67849,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1719", + "source_location": "L1745", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_core_response_success_response" @@ -67452,7 +67860,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1709", + "source_location": "L1735", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_core_tenant_context_get_tenant_no" @@ -67463,7 +67871,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1713", + "source_location": "L1739", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_crud_crm_contact_list_contacts" @@ -67474,7 +67882,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1710", + "source_location": "L1736", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67484,7 +67892,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1702", + "source_location": "L1728", "weight": 1.0, "source": "app_api_crm_contact_birthday", "target": "app_schemas_crm_contact_contactlistbody", @@ -67496,7 +67904,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1762", + "source_location": "L1788", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_core_response_error_response" @@ -67507,7 +67915,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1754", + "source_location": "L1780", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_core_response_success_response" @@ -67518,7 +67926,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1743", + "source_location": "L1769", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_core_tenant_context_get_tenant_no" @@ -67529,7 +67937,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1747", + "source_location": "L1773", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_crud_crm_customer_follow_list_follows" @@ -67540,7 +67948,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1744", + "source_location": "L1770", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67550,7 +67958,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1736", + "source_location": "L1762", "weight": 1.0, "source": "app_api_crm_follow_list", "target": "followlistbody", @@ -67561,78 +67969,12 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1875", + "source_location": "L1901", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "followlistbody", "confidence_score": 1.0 }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1779", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1786", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1775", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1780", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_crud_crm_customer_follow_get_follow" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1776", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L1783", - "weight": 1.0, - "source": "app_api_crm_follow_detail", - "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" - }, { "relation": "calls", "context": "call", @@ -67641,7 +67983,7 @@ "source_file": "app/api/crm.py", "source_location": "L1805", "weight": 1.0, - "source": "app_api_crm_follow_by_customer", + "source": "app_api_crm_follow_detail", "target": "app_core_response_error_response" }, { @@ -67650,9 +67992,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1807", + "source_location": "L1812", "weight": 1.0, - "source": "app_api_crm_follow_by_customer", + "source": "app_api_crm_follow_detail", "target": "app_core_response_success_response" }, { @@ -67663,7 +68005,7 @@ "source_file": "app/api/crm.py", "source_location": "L1801", "weight": 1.0, - "source": "app_api_crm_follow_by_customer", + "source": "app_api_crm_follow_detail", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -67674,6 +68016,72 @@ "source_file": "app/api/crm.py", "source_location": "L1806", "weight": 1.0, + "source": "app_api_crm_follow_detail", + "target": "app_crud_crm_customer_follow_get_follow" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1802", + "weight": 1.0, + "source": "app_api_crm_follow_detail", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1809", + "weight": 1.0, + "source": "app_api_crm_follow_detail", + "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1831", + "weight": 1.0, + "source": "app_api_crm_follow_by_customer", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1833", + "weight": 1.0, + "source": "app_api_crm_follow_by_customer", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1827", + "weight": 1.0, + "source": "app_api_crm_follow_by_customer", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L1832", + "weight": 1.0, "source": "app_api_crm_follow_by_customer", "target": "app_crud_crm_customer_follow_list_follows_by_customer" }, @@ -67683,7 +68091,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1802", + "source_location": "L1828", "weight": 1.0, "source": "app_api_crm_follow_by_customer", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67694,7 +68102,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1833", + "source_location": "L1859", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_core_response_error_response" @@ -67705,7 +68113,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1831", + "source_location": "L1857", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_core_response_success_response" @@ -67716,7 +68124,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1822", + "source_location": "L1848", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_core_tenant_context_get_tenant_no" @@ -67727,7 +68135,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1826", + "source_location": "L1852", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_crud_crm_customer_follow_create_follow" @@ -67738,7 +68146,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1823", + "source_location": "L1849", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67748,7 +68156,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1815", + "source_location": "L1841", "weight": 1.0, "source": "app_api_crm_follow_add", "target": "followcreatebody", @@ -67760,7 +68168,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1852", + "source_location": "L1878", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_core_response_error_response" @@ -67771,7 +68179,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1850", + "source_location": "L1876", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_core_response_success_response" @@ -67782,7 +68190,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1849", + "source_location": "L1875", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_core_tenant_context_get_tenant_no" @@ -67793,7 +68201,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1849", + "source_location": "L1875", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_crud_crm_customer_follow_update_follow" @@ -67804,7 +68212,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1849", + "source_location": "L1875", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67814,7 +68222,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1839", + "source_location": "L1865", "weight": 1.0, "source": "app_api_crm_follow_update", "target": "followupdatebody", @@ -67826,7 +68234,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1869", + "source_location": "L1895", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_core_response_error_response" @@ -67837,7 +68245,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1867", + "source_location": "L1893", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_core_response_success_response" @@ -67848,7 +68256,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1866", + "source_location": "L1892", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -67859,7 +68267,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1866", + "source_location": "L1892", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_crud_crm_customer_follow_soft_delete_follow" @@ -67870,7 +68278,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1866", + "source_location": "L1892", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67880,7 +68288,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1858", + "source_location": "L1884", "weight": 1.0, "source": "app_api_crm_follow_delete", "target": "followdeletebody", @@ -67892,7 +68300,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1899", + "source_location": "L1925", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_core_response_error_response" @@ -67903,7 +68311,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1882", + "source_location": "L1908", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_core_tenant_context_get_tenant_no" @@ -67914,7 +68322,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1884", + "source_location": "L1910", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_crud_crm_customer_follow_list_follows" @@ -67925,7 +68333,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1883", + "source_location": "L1909", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67936,7 +68344,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1890", + "source_location": "L1916", "weight": 1.0, "source": "app_api_crm_follow_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -67947,7 +68355,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1933", + "source_location": "L1959", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_core_response_error_response" @@ -67958,7 +68366,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1925", + "source_location": "L1951", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_core_response_success_response" @@ -67969,7 +68377,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1914", + "source_location": "L1940", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_core_tenant_context_get_tenant_no" @@ -67980,7 +68388,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1915", + "source_location": "L1941", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -67991,7 +68399,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1918", + "source_location": "L1944", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_crud_crm_pool_rule_list_pool_rules" @@ -68001,7 +68409,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1908", + "source_location": "L1934", "weight": 1.0, "source": "app_api_crm_pool_rule_list", "target": "app_schemas_crm_pool_rule_poolrulelistbody", @@ -68013,7 +68421,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1950", + "source_location": "L1976", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_core_response_error_response" @@ -68024,7 +68432,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1952", + "source_location": "L1978", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_core_response_success_response" @@ -68035,7 +68443,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1945", + "source_location": "L1971", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -68046,7 +68454,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1946", + "source_location": "L1972", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68057,7 +68465,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1951", + "source_location": "L1977", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" @@ -68068,7 +68476,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1948", + "source_location": "L1974", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_crud_crm_pool_rule_get_pool_rule" @@ -68078,7 +68486,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1939", + "source_location": "L1965", "weight": 1.0, "source": "app_api_crm_pool_rule_detail", "target": "app_schemas_crm_pool_rule_poolruledetailbody", @@ -68090,7 +68498,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1981", + "source_location": "L2007", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_core_response_error_response" @@ -68101,7 +68509,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1979", + "source_location": "L2005", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_core_response_success_response" @@ -68112,7 +68520,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1966", + "source_location": "L1992", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_core_tenant_context_get_tenant_no" @@ -68123,7 +68531,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1968", + "source_location": "L1994", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_crud_crm_pool_rule_create_pool_rule" @@ -68133,7 +68541,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1960", + "source_location": "L1986", "weight": 1.0, "source": "app_api_crm_pool_rule_add", "target": "app_schemas_crm_pool_rule_poolruleaddbody", @@ -68145,7 +68553,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2010", + "source_location": "L2036", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_core_response_error_response" @@ -68156,7 +68564,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2008", + "source_location": "L2034", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_core_response_success_response" @@ -68167,7 +68575,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1993", + "source_location": "L2019", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_core_tenant_context_get_tenant_no" @@ -68178,7 +68586,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1994", + "source_location": "L2020", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68189,7 +68597,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L1996", + "source_location": "L2022", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_crud_crm_pool_rule_update_pool_rule" @@ -68199,7 +68607,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L1987", + "source_location": "L2013", "weight": 1.0, "source": "app_api_crm_pool_rule_update", "target": "app_schemas_crm_pool_rule_poolruleupdatebody", @@ -68211,7 +68619,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2027", + "source_location": "L2053", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_core_response_error_response" @@ -68222,7 +68630,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2025", + "source_location": "L2051", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_core_response_success_response" @@ -68233,7 +68641,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2022", + "source_location": "L2048", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -68244,7 +68652,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2023", + "source_location": "L2049", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68255,7 +68663,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2024", + "source_location": "L2050", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_crud_crm_pool_rule_delete_pool_rules" @@ -68265,7 +68673,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2016", + "source_location": "L2042", "weight": 1.0, "source": "app_api_crm_pool_rule_delete", "target": "app_schemas_crm_pool_rule_poolruledeletebody", @@ -68277,7 +68685,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2047", + "source_location": "L2073", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_core_response_error_response" @@ -68288,7 +68696,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2045", + "source_location": "L2071", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_core_response_success_response" @@ -68299,7 +68707,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2039", + "source_location": "L2065", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_core_tenant_context_get_tenant_no" @@ -68310,7 +68718,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2040", + "source_location": "L2066", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68321,7 +68729,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2042", + "source_location": "L2068", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_crud_crm_pool_rule_update_pool_rule_status" @@ -68331,7 +68739,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2033", + "source_location": "L2059", "weight": 1.0, "source": "app_api_crm_pool_rule_update_status", "target": "app_schemas_crm_pool_rule_poolruleupdatestatusbody", @@ -68343,7 +68751,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2063", + "source_location": "L2089", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_core_response_error_response" @@ -68354,7 +68762,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2061", + "source_location": "L2087", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_core_response_success_response" @@ -68365,7 +68773,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2059", + "source_location": "L2085", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_core_tenant_context_get_tenant_no" @@ -68376,7 +68784,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2060", + "source_location": "L2086", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_crud_crm_pool_rule_execute_pool_rules" @@ -68386,7 +68794,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2053", + "source_location": "L2079", "weight": 1.0, "source": "app_api_crm_pool_rule_execute", "target": "app_schemas_crm_pool_rule_poolruleexecutebody", @@ -68398,7 +68806,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2086", + "source_location": "L2112", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_core_response_error_response" @@ -68409,7 +68817,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2084", + "source_location": "L2110", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_core_response_success_response" @@ -68420,7 +68828,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2079", + "source_location": "L2105", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_core_tenant_context_get_tenant_no" @@ -68431,7 +68839,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2080", + "source_location": "L2106", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68442,7 +68850,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2081", + "source_location": "L2107", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_crud_crm_statistics_get_overview_statistics" @@ -68452,7 +68860,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2072", + "source_location": "L2098", "weight": 1.0, "source": "app_api_crm_statistics_overview", "target": "app_schemas_crm_statistics_statisticsbody", @@ -68464,7 +68872,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2104", + "source_location": "L2130", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_core_response_error_response" @@ -68475,7 +68883,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2102", + "source_location": "L2128", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_core_response_success_response" @@ -68486,7 +68894,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2099", + "source_location": "L2125", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_core_tenant_context_get_tenant_no" @@ -68497,7 +68905,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2100", + "source_location": "L2126", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68508,7 +68916,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2101", + "source_location": "L2127", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_crud_crm_statistics_get_source_statistics" @@ -68518,7 +68926,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2092", + "source_location": "L2118", "weight": 1.0, "source": "app_api_crm_statistics_source", "target": "app_schemas_crm_statistics_statisticsbody", @@ -68530,7 +68938,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2122", + "source_location": "L2148", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_core_response_error_response" @@ -68541,7 +68949,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2120", + "source_location": "L2146", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_core_response_success_response" @@ -68552,7 +68960,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2117", + "source_location": "L2143", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_core_tenant_context_get_tenant_no" @@ -68563,7 +68971,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2118", + "source_location": "L2144", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68574,7 +68982,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2119", + "source_location": "L2145", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_crud_crm_statistics_get_level_statistics" @@ -68584,7 +68992,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2110", + "source_location": "L2136", "weight": 1.0, "source": "app_api_crm_statistics_level", "target": "app_schemas_crm_statistics_statisticsbody", @@ -68596,7 +69004,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2140", + "source_location": "L2166", "weight": 1.0, "source": "app_api_crm_statistics_industry", "target": "app_core_response_error_response" @@ -68607,66 +69015,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2138", + "source_location": "L2164", "weight": 1.0, "source": "app_api_crm_statistics_industry", "target": "app_core_response_success_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2135", - "weight": 1.0, - "source": "app_api_crm_statistics_industry", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2136", - "weight": 1.0, - "source": "app_api_crm_statistics_industry", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2137", - "weight": 1.0, - "source": "app_api_crm_statistics_industry", - "target": "app_crud_crm_statistics_get_industry_statistics" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L2128", - "weight": 1.0, - "source": "app_api_crm_statistics_industry", - "target": "app_schemas_crm_statistics_statisticsbody", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2163", - "weight": 1.0, - "source": "app_api_crm_statistics_trend", - "target": "app_core_response_error_response" - }, { "relation": "calls", "context": "call", @@ -68675,18 +69028,7 @@ "source_file": "app/api/crm.py", "source_location": "L2161", "weight": 1.0, - "source": "app_api_crm_statistics_trend", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2153", - "weight": 1.0, - "source": "app_api_crm_statistics_trend", + "source": "app_api_crm_statistics_industry", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -68695,9 +69037,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2154", + "source_location": "L2162", "weight": 1.0, - "source": "app_api_crm_statistics_trend", + "source": "app_api_crm_statistics_industry", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -68706,19 +69048,19 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2155", + "source_location": "L2163", "weight": 1.0, - "source": "app_api_crm_statistics_trend", - "target": "app_crud_crm_statistics_get_trend_statistics" + "source": "app_api_crm_statistics_industry", + "target": "app_crud_crm_statistics_get_industry_statistics" }, { "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2146", + "source_location": "L2154", "weight": 1.0, - "source": "app_api_crm_statistics_trend", + "source": "app_api_crm_statistics_industry", "target": "app_schemas_crm_statistics_statisticsbody", "confidence_score": 1.0 }, @@ -68728,11 +69070,22 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2181", + "source_location": "L2189", "weight": 1.0, - "source": "app_api_crm_statistics_owner", + "source": "app_api_crm_statistics_trend", "target": "app_core_response_error_response" }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2187", + "weight": 1.0, + "source": "app_api_crm_statistics_trend", + "target": "app_core_response_success_response" + }, { "relation": "calls", "context": "call", @@ -68741,6 +69094,61 @@ "source_file": "app/api/crm.py", "source_location": "L2179", "weight": 1.0, + "source": "app_api_crm_statistics_trend", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2180", + "weight": 1.0, + "source": "app_api_crm_statistics_trend", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2181", + "weight": 1.0, + "source": "app_api_crm_statistics_trend", + "target": "app_crud_crm_statistics_get_trend_statistics" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L2172", + "weight": 1.0, + "source": "app_api_crm_statistics_trend", + "target": "app_schemas_crm_statistics_statisticsbody", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2207", + "weight": 1.0, + "source": "app_api_crm_statistics_owner", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2205", + "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_core_response_success_response" }, @@ -68750,7 +69158,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2176", + "source_location": "L2202", "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_core_tenant_context_get_tenant_no" @@ -68761,7 +69169,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2177", + "source_location": "L2203", "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68772,7 +69180,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2178", + "source_location": "L2204", "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_crud_crm_statistics_get_owner_statistics" @@ -68782,7 +69190,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2169", + "source_location": "L2195", "weight": 1.0, "source": "app_api_crm_statistics_owner", "target": "app_schemas_crm_statistics_statisticsbody", @@ -68794,7 +69202,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2204", + "source_location": "L2230", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_core_response_error_response" @@ -68805,7 +69213,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2202", + "source_location": "L2228", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_core_response_success_response" @@ -68816,7 +69224,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2194", + "source_location": "L2220", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_core_tenant_context_get_tenant_no" @@ -68827,7 +69235,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2195", + "source_location": "L2221", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -68837,7 +69245,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2187", + "source_location": "L2213", "weight": 1.0, "source": "app_api_crm_statistics_follow", "target": "app_schemas_crm_statistics_statisticsbody", @@ -68848,7 +69256,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2212", + "source_location": "L2238", "weight": 1.0, "source": "app_api_crm_opp_list_kwargs", "target": "app_schemas_crm_opportunity_opportunitylistbody", @@ -68859,7 +69267,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3055", + "source_location": "L3081", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_api_crm_opp_list_kwargs", @@ -68870,7 +69278,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2602", + "source_location": "L2628", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_api_crm_opp_list_kwargs", @@ -68881,7 +69289,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2257", + "source_location": "L2283", "weight": 1.0, "source": "app_api_crm_opportunity_list", "target": "app_api_crm_opp_list_kwargs", @@ -68892,7 +69300,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2290", + "source_location": "L2316", "weight": 1.0, "source": "app_api_crm_opportunity_mine_list", "target": "app_api_crm_opp_list_kwargs", @@ -68904,110 +69312,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2268", + "source_location": "L2294", "weight": 1.0, "source": "app_api_crm_opportunity_list", "target": "app_core_response_error_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2259", - "weight": 1.0, - "source": "app_api_crm_opportunity_list", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2248", - "weight": 1.0, - "source": "app_api_crm_opportunity_list", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2249", - "weight": 1.0, - "source": "app_api_crm_opportunity_list", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2252", - "weight": 1.0, - "source": "app_api_crm_opportunity_list", - "target": "app_crud_crm_opportunity_list_opportunities" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L2241", - "weight": 1.0, - "source": "app_api_crm_opportunity_list", - "target": "app_schemas_crm_opportunity_opportunitylistbody", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2301", - "weight": 1.0, - "source": "app_api_crm_opportunity_mine_list", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2292", - "weight": 1.0, - "source": "app_api_crm_opportunity_mine_list", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2281", - "weight": 1.0, - "source": "app_api_crm_opportunity_mine_list", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2282", - "weight": 1.0, - "source": "app_api_crm_opportunity_mine_list", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, { "relation": "calls", "context": "call", @@ -69016,6 +69325,105 @@ "source_file": "app/api/crm.py", "source_location": "L2285", "weight": 1.0, + "source": "app_api_crm_opportunity_list", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2274", + "weight": 1.0, + "source": "app_api_crm_opportunity_list", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2275", + "weight": 1.0, + "source": "app_api_crm_opportunity_list", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2278", + "weight": 1.0, + "source": "app_api_crm_opportunity_list", + "target": "app_crud_crm_opportunity_list_opportunities" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L2267", + "weight": 1.0, + "source": "app_api_crm_opportunity_list", + "target": "app_schemas_crm_opportunity_opportunitylistbody", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2327", + "weight": 1.0, + "source": "app_api_crm_opportunity_mine_list", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2318", + "weight": 1.0, + "source": "app_api_crm_opportunity_mine_list", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2307", + "weight": 1.0, + "source": "app_api_crm_opportunity_mine_list", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2308", + "weight": 1.0, + "source": "app_api_crm_opportunity_mine_list", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2311", + "weight": 1.0, "source": "app_api_crm_opportunity_mine_list", "target": "app_crud_crm_opportunity_list_opportunities" }, @@ -69024,7 +69432,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2274", + "source_location": "L2300", "weight": 1.0, "source": "app_api_crm_opportunity_mine_list", "target": "app_schemas_crm_opportunity_opportunitylistbody", @@ -69036,7 +69444,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2324", + "source_location": "L2350", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_core_response_error_response" @@ -69047,7 +69455,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2329", + "source_location": "L2355", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_core_response_success_response" @@ -69058,7 +69466,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2314", + "source_location": "L2340", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -69069,7 +69477,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2315", + "source_location": "L2341", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69080,7 +69488,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2325", + "source_location": "L2351", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_owner_row_in_scope" @@ -69091,7 +69499,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2326", + "source_location": "L2352", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_crud_crm_opportunity_get_opportunity" @@ -69101,7 +69509,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2307", + "source_location": "L2333", "weight": 1.0, "source": "app_api_crm_opportunity_detail", "target": "app_schemas_crm_opportunity_opportunitydetailbody", @@ -69113,7 +69521,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2355", + "source_location": "L2381", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_core_response_error_response" @@ -69124,7 +69532,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2353", + "source_location": "L2379", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_core_response_success_response" @@ -69135,7 +69543,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2344", + "source_location": "L2370", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_core_tenant_context_get_tenant_no" @@ -69146,7 +69554,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2345", + "source_location": "L2371", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69157,7 +69565,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2347", + "source_location": "L2373", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_crud_crm_opportunity_create_opportunity" @@ -69167,7 +69575,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2337", + "source_location": "L2363", "weight": 1.0, "source": "app_api_crm_opportunity_add", "target": "app_schemas_crm_opportunity_opportunitycreatebody", @@ -69179,7 +69587,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2376", + "source_location": "L2402", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_core_response_error_response" @@ -69190,7 +69598,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2374", + "source_location": "L2400", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_core_response_success_response" @@ -69201,7 +69609,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2368", + "source_location": "L2394", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_core_tenant_context_get_tenant_no" @@ -69212,7 +69620,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2369", + "source_location": "L2395", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69223,7 +69631,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2373", + "source_location": "L2399", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_crud_crm_opportunity_update_opportunity" @@ -69233,7 +69641,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2361", + "source_location": "L2387", "weight": 1.0, "source": "app_api_crm_opportunity_update", "target": "app_schemas_crm_opportunity_opportunityupdatebody", @@ -69245,7 +69653,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2397", + "source_location": "L2423", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_core_response_error_response" @@ -69256,7 +69664,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2395", + "source_location": "L2421", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_core_response_success_response" @@ -69267,7 +69675,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2389", + "source_location": "L2415", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -69278,7 +69686,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2390", + "source_location": "L2416", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69289,7 +69697,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2392", + "source_location": "L2418", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_crud_crm_opportunity_soft_delete_opportunities" @@ -69299,7 +69707,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2382", + "source_location": "L2408", "weight": 1.0, "source": "app_api_crm_opportunity_delete", "target": "app_schemas_crm_opportunity_opportunitydeletebody", @@ -69311,7 +69719,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2424", + "source_location": "L2450", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_core_response_error_response" @@ -69322,7 +69730,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2422", + "source_location": "L2448", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_core_response_success_response" @@ -69333,7 +69741,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2410", + "source_location": "L2436", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_core_tenant_context_get_tenant_no" @@ -69344,7 +69752,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2411", + "source_location": "L2437", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69355,7 +69763,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2413", + "source_location": "L2439", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_crud_crm_opportunity_assign_opportunities" @@ -69365,7 +69773,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2403", + "source_location": "L2429", "weight": 1.0, "source": "app_api_crm_opportunity_assign", "target": "app_schemas_crm_opportunity_opportunityassignbody", @@ -69377,7 +69785,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2454", + "source_location": "L2480", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_core_response_error_response" @@ -69388,7 +69796,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2452", + "source_location": "L2478", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_core_response_success_response" @@ -69399,7 +69807,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2437", + "source_location": "L2463", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_core_tenant_context_get_tenant_no" @@ -69410,7 +69818,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2438", + "source_location": "L2464", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69421,7 +69829,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2440", + "source_location": "L2466", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_crud_crm_opportunity_change_stage" @@ -69431,7 +69839,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2430", + "source_location": "L2456", "weight": 1.0, "source": "app_api_crm_opportunity_change_stage", "target": "app_schemas_crm_opportunity_opportunitychangestagebody", @@ -69443,7 +69851,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2482", + "source_location": "L2508", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_core_response_error_response" @@ -69454,7 +69862,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2480", + "source_location": "L2506", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_core_response_success_response" @@ -69465,7 +69873,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2467", + "source_location": "L2493", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_core_tenant_context_get_tenant_no" @@ -69476,7 +69884,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2468", + "source_location": "L2494", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69487,7 +69895,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2470", + "source_location": "L2496", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_crud_crm_opportunity_mark_won" @@ -69497,7 +69905,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2460", + "source_location": "L2486", "weight": 1.0, "source": "app_api_crm_opportunity_mark_won", "target": "app_schemas_crm_opportunity_opportunitymarkwonbody", @@ -69509,7 +69917,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2511", + "source_location": "L2537", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_core_response_error_response" @@ -69520,7 +69928,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2509", + "source_location": "L2535", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_core_response_success_response" @@ -69531,7 +69939,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2495", + "source_location": "L2521", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_core_tenant_context_get_tenant_no" @@ -69542,7 +69950,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2496", + "source_location": "L2522", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69553,7 +69961,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2498", + "source_location": "L2524", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_crud_crm_opportunity_mark_lost" @@ -69563,7 +69971,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2488", + "source_location": "L2514", "weight": 1.0, "source": "app_api_crm_opportunity_mark_lost", "target": "app_schemas_crm_opportunity_opportunitymarklostbody", @@ -69575,7 +69983,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2540", + "source_location": "L2566", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_core_response_error_response" @@ -69586,7 +69994,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2538", + "source_location": "L2564", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_core_response_success_response" @@ -69597,7 +70005,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2524", + "source_location": "L2550", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_core_tenant_context_get_tenant_no" @@ -69608,7 +70016,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2525", + "source_location": "L2551", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69619,7 +70027,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2527", + "source_location": "L2553", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_crud_crm_opportunity_batch_update_stage" @@ -69629,7 +70037,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2517", + "source_location": "L2543", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_stage", "target": "app_schemas_crm_opportunity_opportunitybatchupdatestagebody", @@ -69641,7 +70049,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2568", + "source_location": "L2594", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_core_response_error_response" @@ -69652,7 +70060,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2566", + "source_location": "L2592", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_core_response_success_response" @@ -69663,7 +70071,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2553", + "source_location": "L2579", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_core_tenant_context_get_tenant_no" @@ -69674,7 +70082,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2554", + "source_location": "L2580", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69685,7 +70093,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2556", + "source_location": "L2582", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_crud_crm_opportunity_batch_update_expect_date" @@ -69695,7 +70103,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2546", + "source_location": "L2572", "weight": 1.0, "source": "app_api_crm_opportunity_batch_update_expect_date", "target": "app_schemas_crm_opportunity_opportunitybatchupdateexpectdatebody", @@ -69707,7 +70115,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2586", + "source_location": "L2612", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_core_response_error_response" @@ -69718,7 +70126,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2584", + "source_location": "L2610", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_core_response_success_response" @@ -69729,7 +70137,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2581", + "source_location": "L2607", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_core_tenant_context_get_tenant_no" @@ -69740,7 +70148,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2582", + "source_location": "L2608", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69751,7 +70159,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2583", + "source_location": "L2609", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_crud_crm_opportunity_get_stage_log_list" @@ -69761,7 +70169,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2574", + "source_location": "L2600", "weight": 1.0, "source": "app_api_crm_opportunity_stage_log_list", "target": "app_schemas_crm_opportunity_opportunitystageloglistbody", @@ -69773,7 +70181,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2617", + "source_location": "L2643", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_core_response_error_response" @@ -69784,7 +70192,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2615", + "source_location": "L2641", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_core_response_success_response" @@ -69795,7 +70203,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2599", + "source_location": "L2625", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_core_tenant_context_get_tenant_no" @@ -69806,7 +70214,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2600", + "source_location": "L2626", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69817,7 +70225,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2603", + "source_location": "L2629", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_crud_crm_opportunity_get_kanban_data" @@ -69827,7 +70235,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2592", + "source_location": "L2618", "weight": 1.0, "source": "app_api_crm_opportunity_kanban", "target": "app_schemas_crm_opportunity_opportunitykanbanbody", @@ -69839,7 +70247,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2643", + "source_location": "L2669", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_core_response_error_response" @@ -69850,7 +70258,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2641", + "source_location": "L2667", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_core_response_success_response" @@ -69861,7 +70269,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2630", + "source_location": "L2656", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_core_tenant_context_get_tenant_no" @@ -69872,7 +70280,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2631", + "source_location": "L2657", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -69883,7 +70291,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2633", + "source_location": "L2659", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_crud_crm_opportunity_get_statistics_overview" @@ -69893,67 +70301,12 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2623", + "source_location": "L2649", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_overview", "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", "confidence_score": 1.0 }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2659", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_stage", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2657", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_stage", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2655", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_stage", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2656", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_stage", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L2657", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_stage", - "target": "app_crud_crm_opportunity_get_statistics_by_stage" - }, { "relation": "calls", "context": "call", @@ -69962,7 +70315,7 @@ "source_file": "app/api/crm.py", "source_location": "L2685", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", + "source": "app_api_crm_opportunity_statistics_stage", "target": "app_core_response_error_response" }, { @@ -69973,7 +70326,7 @@ "source_file": "app/api/crm.py", "source_location": "L2683", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", + "source": "app_api_crm_opportunity_statistics_stage", "target": "app_core_response_success_response" }, { @@ -69982,9 +70335,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2672", + "source_location": "L2681", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", + "source": "app_api_crm_opportunity_statistics_stage", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -69993,9 +70346,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2673", + "source_location": "L2682", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", + "source": "app_api_crm_opportunity_statistics_stage", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -70004,21 +70357,10 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2675", + "source_location": "L2683", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", - "target": "app_crud_crm_opportunity_get_win_rate_statistics" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L2665", - "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_win_rate", - "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", - "confidence_score": 1.0 + "source": "app_api_crm_opportunity_statistics_stage", + "target": "app_crud_crm_opportunity_get_statistics_by_stage" }, { "relation": "calls", @@ -70026,9 +70368,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2710", + "source_location": "L2711", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", + "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_core_response_error_response" }, { @@ -70037,9 +70379,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2708", + "source_location": "L2709", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", + "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_core_response_success_response" }, { @@ -70050,7 +70392,7 @@ "source_file": "app/api/crm.py", "source_location": "L2698", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", + "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -70061,7 +70403,7 @@ "source_file": "app/api/crm.py", "source_location": "L2699", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", + "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, { @@ -70072,8 +70414,8 @@ "source_file": "app/api/crm.py", "source_location": "L2701", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", - "target": "app_crud_crm_opportunity_get_statistics_by_owner" + "source": "app_api_crm_opportunity_statistics_win_rate", + "target": "app_crud_crm_opportunity_get_win_rate_statistics" }, { "relation": "references", @@ -70082,7 +70424,7 @@ "source_file": "app/api/crm.py", "source_location": "L2691", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_owner", + "source": "app_api_crm_opportunity_statistics_win_rate", "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", "confidence_score": 1.0 }, @@ -70094,7 +70436,7 @@ "source_file": "app/api/crm.py", "source_location": "L2736", "weight": 1.0, - "source": "app_api_crm_opportunity_statistics_funnel", + "source": "app_api_crm_opportunity_statistics_owner", "target": "app_core_response_error_response" }, { @@ -70105,6 +70447,72 @@ "source_file": "app/api/crm.py", "source_location": "L2734", "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_owner", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2724", + "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_owner", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2725", + "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_owner", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2727", + "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_owner", + "target": "app_crud_crm_opportunity_get_statistics_by_owner" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L2717", + "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_owner", + "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2762", + "weight": 1.0, + "source": "app_api_crm_opportunity_statistics_funnel", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L2760", + "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_core_response_success_response" }, @@ -70114,7 +70522,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2723", + "source_location": "L2749", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_core_tenant_context_get_tenant_no" @@ -70125,7 +70533,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2724", + "source_location": "L2750", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70136,7 +70544,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2726", + "source_location": "L2752", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_crud_crm_opportunity_get_sales_funnel" @@ -70146,7 +70554,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2716", + "source_location": "L2742", "weight": 1.0, "source": "app_api_crm_opportunity_statistics_funnel", "target": "app_schemas_crm_opportunity_opportunitystatisticsbody", @@ -70158,7 +70566,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2768", + "source_location": "L2794", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_core_response_error_response" @@ -70169,7 +70577,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2759", + "source_location": "L2785", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_core_response_success_response" @@ -70180,7 +70588,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2749", + "source_location": "L2775", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_core_tenant_context_get_tenant_no" @@ -70191,7 +70599,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2750", + "source_location": "L2776", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70202,7 +70610,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2751", + "source_location": "L2777", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_crud_crm_opportunity_follow_list_opportunity_follows" @@ -70212,7 +70620,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2742", + "source_location": "L2768", "weight": 1.0, "source": "app_api_crm_opportunity_follow_list", "target": "app_schemas_crm_opportunity_opportunityfollowlistbody", @@ -70224,7 +70632,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2793", + "source_location": "L2819", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_core_response_error_response" @@ -70235,7 +70643,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2791", + "source_location": "L2817", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_core_response_success_response" @@ -70246,7 +70654,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2781", + "source_location": "L2807", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_core_tenant_context_get_tenant_no" @@ -70257,7 +70665,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2782", + "source_location": "L2808", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70268,7 +70676,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2784", + "source_location": "L2810", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_crud_crm_opportunity_follow_create_opportunity_follow" @@ -70278,7 +70686,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2774", + "source_location": "L2800", "weight": 1.0, "source": "app_api_crm_opportunity_follow_add", "target": "app_schemas_crm_opportunity_opportunityfollowcreatebody", @@ -70290,7 +70698,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2816", + "source_location": "L2842", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_core_response_error_response" @@ -70301,7 +70709,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2814", + "source_location": "L2840", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_core_response_success_response" @@ -70312,7 +70720,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2806", + "source_location": "L2832", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_core_tenant_context_get_tenant_no" @@ -70323,7 +70731,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2807", + "source_location": "L2833", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70334,7 +70742,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2811", + "source_location": "L2837", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_crud_crm_opportunity_follow_update_opportunity_follow" @@ -70344,7 +70752,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2799", + "source_location": "L2825", "weight": 1.0, "source": "app_api_crm_opportunity_follow_update", "target": "app_schemas_crm_opportunity_opportunityfollowupdatebody", @@ -70356,7 +70764,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2840", + "source_location": "L2866", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_core_response_error_response" @@ -70367,7 +70775,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2838", + "source_location": "L2864", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_core_response_success_response" @@ -70378,7 +70786,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2829", + "source_location": "L2855", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -70389,7 +70797,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2830", + "source_location": "L2856", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70400,7 +70808,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2834", + "source_location": "L2860", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_crud_crm_opportunity_follow_soft_delete_opportunity_follow" @@ -70410,7 +70818,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2822", + "source_location": "L2848", "weight": 1.0, "source": "app_api_crm_opportunity_follow_delete", "target": "app_schemas_crm_opportunity_opportunityfollowdeletebody", @@ -70422,7 +70830,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2857", + "source_location": "L2883", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_core_response_error_response" @@ -70433,7 +70841,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2858", + "source_location": "L2884", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_core_response_success_response" @@ -70444,7 +70852,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2853", + "source_location": "L2879", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -70455,7 +70863,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2854", + "source_location": "L2880", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70466,7 +70874,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2855", + "source_location": "L2881", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_crud_crm_opportunity_follow_get_opportunity_follow" @@ -70476,7 +70884,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2846", + "source_location": "L2872", "weight": 1.0, "source": "app_api_crm_opportunity_follow_detail", "target": "app_schemas_crm_opportunity_opportunityfollowdetailbody", @@ -70488,7 +70896,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2893", + "source_location": "L2919", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_core_response_error_response" @@ -70499,7 +70907,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2884", + "source_location": "L2910", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_core_response_success_response" @@ -70510,7 +70918,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2873", + "source_location": "L2899", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_core_tenant_context_get_tenant_no" @@ -70521,7 +70929,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2874", + "source_location": "L2900", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70532,7 +70940,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2875", + "source_location": "L2901", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_crud_crm_opportunity_product_list_opportunity_products" @@ -70542,7 +70950,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2866", + "source_location": "L2892", "weight": 1.0, "source": "app_api_crm_opportunity_product_list", "target": "app_schemas_crm_opportunity_opportunityproductlistbody", @@ -70554,7 +70962,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2910", + "source_location": "L2936", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_core_response_error_response" @@ -70565,7 +70973,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2912", + "source_location": "L2938", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_core_response_success_response" @@ -70576,7 +70984,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2906", + "source_location": "L2932", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_core_tenant_context_get_tenant_no" @@ -70587,7 +70995,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2907", + "source_location": "L2933", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70598,7 +71006,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2911", + "source_location": "L2937", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_crud_crm_opportunity_product_list_products_by_opportunity" @@ -70608,7 +71016,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2899", + "source_location": "L2925", "weight": 1.0, "source": "app_api_crm_opportunity_product_list_by_opportunity", "target": "app_schemas_crm_opportunity_opportunityproductbyopportunitybody", @@ -70620,7 +71028,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2939", + "source_location": "L2965", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_core_response_error_response" @@ -70631,7 +71039,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2937", + "source_location": "L2963", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_core_response_success_response" @@ -70642,7 +71050,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2927", + "source_location": "L2953", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_core_tenant_context_get_tenant_no" @@ -70653,7 +71061,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2928", + "source_location": "L2954", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70664,7 +71072,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2930", + "source_location": "L2956", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_crud_crm_opportunity_product_create_opportunity_product" @@ -70674,7 +71082,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2920", + "source_location": "L2946", "weight": 1.0, "source": "app_api_crm_opportunity_product_add", "target": "app_schemas_crm_opportunity_opportunityproductcreatebody", @@ -70686,7 +71094,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2969", + "source_location": "L2995", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_core_response_error_response" @@ -70697,7 +71105,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2967", + "source_location": "L2993", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_core_response_success_response" @@ -70708,7 +71116,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2952", + "source_location": "L2978", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_core_tenant_context_get_tenant_no" @@ -70719,7 +71127,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2953", + "source_location": "L2979", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70730,7 +71138,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2959", + "source_location": "L2985", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_crud_crm_opportunity_product_batch_add_opportunity_products" @@ -70740,7 +71148,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2945", + "source_location": "L2971", "weight": 1.0, "source": "app_api_crm_opportunity_product_batch_add", "target": "app_schemas_crm_opportunity_opportunityproductbatchaddbody", @@ -70752,7 +71160,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2992", + "source_location": "L3018", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_core_response_error_response" @@ -70763,7 +71171,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2990", + "source_location": "L3016", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_core_response_success_response" @@ -70774,7 +71182,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2982", + "source_location": "L3008", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_core_tenant_context_get_tenant_no" @@ -70785,7 +71193,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2983", + "source_location": "L3009", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70796,7 +71204,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L2987", + "source_location": "L3013", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_crud_crm_opportunity_product_update_opportunity_product" @@ -70806,7 +71214,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2975", + "source_location": "L3001", "weight": 1.0, "source": "app_api_crm_opportunity_product_update", "target": "app_schemas_crm_opportunity_opportunityproductupdatebody", @@ -70818,7 +71226,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3013", + "source_location": "L3039", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_core_response_error_response" @@ -70829,7 +71237,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3011", + "source_location": "L3037", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_core_response_success_response" @@ -70840,7 +71248,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3005", + "source_location": "L3031", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -70851,7 +71259,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3006", + "source_location": "L3032", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70862,7 +71270,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3008", + "source_location": "L3034", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_crud_crm_opportunity_product_soft_delete_opportunity_products" @@ -70872,7 +71280,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L2998", + "source_location": "L3024", "weight": 1.0, "source": "app_api_crm_opportunity_product_delete", "target": "app_schemas_crm_opportunity_opportunityproductdeletebody", @@ -70884,7 +71292,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3030", + "source_location": "L3056", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_core_response_error_response" @@ -70895,7 +71303,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3031", + "source_location": "L3057", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_core_response_success_response" @@ -70906,7 +71314,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3026", + "source_location": "L3052", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -70917,7 +71325,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3027", + "source_location": "L3053", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70928,7 +71336,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3028", + "source_location": "L3054", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_crud_crm_opportunity_product_get_opportunity_product" @@ -70938,7 +71346,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3019", + "source_location": "L3045", "weight": 1.0, "source": "app_api_crm_opportunity_product_detail", "target": "app_schemas_crm_opportunity_opportunityproductdetailbody", @@ -70950,7 +71358,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3069", + "source_location": "L3095", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_core_response_error_response" @@ -70961,7 +71369,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3046", + "source_location": "L3072", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_core_tenant_context_get_tenant_no" @@ -70972,7 +71380,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3047", + "source_location": "L3073", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -70983,7 +71391,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3050", + "source_location": "L3076", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_crud_crm_opportunity_list_opportunities" @@ -70993,7 +71401,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3039", + "source_location": "L3065", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_schemas_crm_opportunity_opportunitylistbody", @@ -71005,7 +71413,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3059", + "source_location": "L3085", "weight": 1.0, "source": "app_api_crm_opportunity_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -71014,9 +71422,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3086", + "source_location": "L3112", "weight": 1.0, - "source": "app_api_crm_rationale_3086", + "source": "app_api_crm_rationale_3112", "target": "app_api_crm_supplier_info_list", "confidence_score": 1.0 }, @@ -71026,120 +71434,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3110", + "source_location": "L3136", "weight": 1.0, "source": "app_api_crm_supplier_info_list", "target": "app_core_response_error_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3100", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3088", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3089", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3091", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list", - "target": "app_crud_crm_supplier_info_list_supplier_info" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L3081", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list", - "target": "app_schemas_crm_supplier_info_supplierinfolistbody", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L3121", - "weight": 1.0, - "source": "app_api_crm_rationale_3121", - "target": "app_api_crm_supplier_info_list_all", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3135", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3133", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3123", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3124", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, { "relation": "calls", "context": "call", @@ -71148,50 +71447,7 @@ "source_file": "app/api/crm.py", "source_location": "L3126", "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_crud_crm_supplier_info_list_all_supplier_info" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L3116", - "weight": 1.0, - "source": "app_api_crm_supplier_info_list_all", - "target": "app_schemas_crm_supplier_info_supplierinfolistallbody", - "confidence_score": 1.0 - }, - { - "relation": "rationale_for", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L3146", - "weight": 1.0, - "source": "app_api_crm_rationale_3146", - "target": "app_api_crm_supplier_info_detail", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3152", - "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3156", - "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", + "source": "app_api_crm_supplier_info_list", "target": "app_core_response_success_response" }, { @@ -71200,11 +71456,76 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3148", + "source_location": "L3114", "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", + "source": "app_api_crm_supplier_info_list", "target": "app_core_tenant_context_get_tenant_no" }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3115", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3117", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list", + "target": "app_crud_crm_supplier_info_list_supplier_info" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L3107", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list", + "target": "app_schemas_crm_supplier_info_supplierinfolistbody", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L3147", + "weight": 1.0, + "source": "app_api_crm_rationale_3147", + "target": "app_api_crm_supplier_info_list_all", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3161", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list_all", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3159", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list_all", + "target": "app_core_response_success_response" + }, { "relation": "calls", "context": "call", @@ -71213,19 +71534,8 @@ "source_file": "app/api/crm.py", "source_location": "L3149", "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3153", - "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", - "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" + "source": "app_api_crm_supplier_info_list_all", + "target": "app_core_tenant_context_get_tenant_no" }, { "relation": "calls", @@ -71235,28 +71545,39 @@ "source_file": "app/api/crm.py", "source_location": "L3150", "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", - "target": "app_crud_crm_supplier_info_get_supplier_info" + "source": "app_api_crm_supplier_info_list_all", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3152", + "weight": 1.0, + "source": "app_api_crm_supplier_info_list_all", + "target": "app_crud_crm_supplier_info_list_all_supplier_info" }, { "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3141", + "source_location": "L3142", "weight": 1.0, - "source": "app_api_crm_supplier_info_detail", - "target": "app_schemas_crm_supplier_info_supplierinfodetailbody", + "source": "app_api_crm_supplier_info_list_all", + "target": "app_schemas_crm_supplier_info_supplierinfolistallbody", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3169", + "source_location": "L3172", "weight": 1.0, - "source": "app_api_crm_rationale_3169", - "target": "app_api_crm_supplier_info_add", + "source": "app_api_crm_rationale_3172", + "target": "app_api_crm_supplier_info_detail", "confidence_score": 1.0 }, { @@ -71265,9 +71586,9 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3184", + "source_location": "L3178", "weight": 1.0, - "source": "app_api_crm_supplier_info_add", + "source": "app_api_crm_supplier_info_detail", "target": "app_core_response_error_response" }, { @@ -71278,7 +71599,7 @@ "source_file": "app/api/crm.py", "source_location": "L3182", "weight": 1.0, - "source": "app_api_crm_supplier_info_add", + "source": "app_api_crm_supplier_info_detail", "target": "app_core_response_success_response" }, { @@ -71287,22 +71608,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3171", + "source_location": "L3174", "weight": 1.0, - "source": "app_api_crm_supplier_info_add", + "source": "app_api_crm_supplier_info_detail", "target": "app_core_tenant_context_get_tenant_no" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3172", - "weight": 1.0, - "source": "app_api_crm_supplier_info_add", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, { "relation": "calls", "context": "call", @@ -71311,18 +71621,40 @@ "source_file": "app/api/crm.py", "source_location": "L3175", "weight": 1.0, - "source": "app_api_crm_supplier_info_add", - "target": "app_crud_crm_supplier_info_create_supplier_info" + "source": "app_api_crm_supplier_info_detail", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3179", + "weight": 1.0, + "source": "app_api_crm_supplier_info_detail", + "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3176", + "weight": 1.0, + "source": "app_api_crm_supplier_info_detail", + "target": "app_crud_crm_supplier_info_get_supplier_info" }, { "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3164", + "source_location": "L3167", "weight": 1.0, - "source": "app_api_crm_supplier_info_add", - "target": "app_schemas_crm_supplier_info_supplierinfocreatebody", + "source": "app_api_crm_supplier_info_detail", + "target": "app_schemas_crm_supplier_info_supplierinfodetailbody", "confidence_score": 1.0 }, { @@ -71332,20 +71664,9 @@ "source_location": "L3195", "weight": 1.0, "source": "app_api_crm_rationale_3195", - "target": "app_api_crm_supplier_info_update", + "target": "app_api_crm_supplier_info_add", "confidence_score": 1.0 }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3212", - "weight": 1.0, - "source": "app_api_crm_supplier_info_update", - "target": "app_core_response_error_response" - }, { "relation": "calls", "context": "call", @@ -71354,7 +71675,18 @@ "source_file": "app/api/crm.py", "source_location": "L3210", "weight": 1.0, - "source": "app_api_crm_supplier_info_update", + "source": "app_api_crm_supplier_info_add", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3208", + "weight": 1.0, + "source": "app_api_crm_supplier_info_add", "target": "app_core_response_success_response" }, { @@ -71365,7 +71697,7 @@ "source_file": "app/api/crm.py", "source_location": "L3197", "weight": 1.0, - "source": "app_api_crm_supplier_info_update", + "source": "app_api_crm_supplier_info_add", "target": "app_core_tenant_context_get_tenant_no" }, { @@ -71376,6 +71708,82 @@ "source_file": "app/api/crm.py", "source_location": "L3198", "weight": 1.0, + "source": "app_api_crm_supplier_info_add", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3201", + "weight": 1.0, + "source": "app_api_crm_supplier_info_add", + "target": "app_crud_crm_supplier_info_create_supplier_info" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L3190", + "weight": 1.0, + "source": "app_api_crm_supplier_info_add", + "target": "app_schemas_crm_supplier_info_supplierinfocreatebody", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L3221", + "weight": 1.0, + "source": "app_api_crm_rationale_3221", + "target": "app_api_crm_supplier_info_update", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3238", + "weight": 1.0, + "source": "app_api_crm_supplier_info_update", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3236", + "weight": 1.0, + "source": "app_api_crm_supplier_info_update", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3223", + "weight": 1.0, + "source": "app_api_crm_supplier_info_update", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3224", + "weight": 1.0, "source": "app_api_crm_supplier_info_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" }, @@ -71385,7 +71793,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3202", + "source_location": "L3228", "weight": 1.0, "source": "app_api_crm_supplier_info_update", "target": "app_crud_crm_supplier_info_update_supplier_info" @@ -71395,7 +71803,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3190", + "source_location": "L3216", "weight": 1.0, "source": "app_api_crm_supplier_info_update", "target": "app_schemas_crm_supplier_info_supplierinfoupdatebody", @@ -71405,9 +71813,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3223", + "source_location": "L3249", "weight": 1.0, - "source": "app_api_crm_rationale_3223", + "source": "app_api_crm_rationale_3249", "target": "app_api_crm_supplier_info_delete", "confidence_score": 1.0 }, @@ -71417,7 +71825,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3234", + "source_location": "L3260", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_core_response_error_response" @@ -71428,7 +71836,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3239", + "source_location": "L3265", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_core_response_success_response" @@ -71439,7 +71847,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3225", + "source_location": "L3251", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -71450,7 +71858,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3226", + "source_location": "L3252", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71461,7 +71869,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3237", + "source_location": "L3263", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_crud_crm_supplier_info_soft_delete_supplier_info" @@ -71471,7 +71879,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3218", + "source_location": "L3244", "weight": 1.0, "source": "app_api_crm_supplier_info_delete", "target": "app_schemas_crm_supplier_info_supplierinfodeletebody", @@ -71481,9 +71889,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3252", + "source_location": "L3278", "weight": 1.0, - "source": "app_api_crm_rationale_3252", + "source": "app_api_crm_rationale_3278", "target": "app_api_crm_supplier_info_export", "confidence_score": 1.0 }, @@ -71493,7 +71901,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3276", + "source_location": "L3302", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_core_response_error_response" @@ -71504,7 +71912,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3254", + "source_location": "L3280", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_core_tenant_context_get_tenant_no" @@ -71515,7 +71923,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3255", + "source_location": "L3281", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71526,7 +71934,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3257", + "source_location": "L3283", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_crud_crm_supplier_info_list_supplier_info" @@ -71536,7 +71944,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3247", + "source_location": "L3273", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_schemas_crm_supplier_info_supplierinfolistbody", @@ -71548,7 +71956,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3266", + "source_location": "L3292", "weight": 1.0, "source": "app_api_crm_supplier_info_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -71558,7 +71966,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3320", + "source_location": "L3346", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer", "target": "app_api_crm_invoice_info_by_customer_impl", @@ -71569,7 +71977,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3294", + "source_location": "L3320", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_core_response_success_response", @@ -71580,7 +71988,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3289", + "source_location": "L3315", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_core_tenant_context_get_tenant_no", @@ -71591,7 +71999,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3290", + "source_location": "L3316", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_crud_crm_data_scope_helpers_crm_user_info", @@ -71602,7 +72010,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3291", + "source_location": "L3317", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_crud_crm_invoice_info_list_invoice_info_by_customer", @@ -71613,7 +72021,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3284", + "source_location": "L3310", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer_impl", "target": "app_schemas_crm_invoice_info_invoiceinfobycustomerbody", @@ -71624,7 +72032,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3305", + "source_location": "L3331", "weight": 1.0, "source": "app_api_crm_invoice_info_list", "target": "app_api_crm_invoice_info_by_customer_impl", @@ -71636,7 +72044,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3307", + "source_location": "L3333", "weight": 1.0, "source": "app_api_crm_invoice_info_list", "target": "app_core_response_error_response" @@ -71646,7 +72054,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3298", + "source_location": "L3324", "weight": 1.0, "source": "app_api_crm_invoice_info_list", "target": "app_schemas_crm_invoice_info_invoiceinfobycustomerbody", @@ -71656,9 +72064,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3303", + "source_location": "L3329", "weight": 1.0, - "source": "app_api_crm_rationale_3303", + "source": "app_api_crm_rationale_3329", "target": "app_api_crm_invoice_info_list", "confidence_score": 1.0 }, @@ -71668,7 +72076,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3322", + "source_location": "L3348", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer", "target": "app_core_response_error_response" @@ -71678,7 +72086,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3313", + "source_location": "L3339", "weight": 1.0, "source": "app_api_crm_invoice_info_by_customer", "target": "app_schemas_crm_invoice_info_invoiceinfobycustomerbody", @@ -71690,7 +72098,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3347", + "source_location": "L3373", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_core_response_error_response" @@ -71701,7 +72109,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3345", + "source_location": "L3371", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_core_response_success_response" @@ -71712,7 +72120,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3335", + "source_location": "L3361", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_core_tenant_context_get_tenant_no" @@ -71723,7 +72131,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3336", + "source_location": "L3362", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71734,7 +72142,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3338", + "source_location": "L3364", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_crud_crm_invoice_info_create_invoice_info" @@ -71744,7 +72152,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3328", + "source_location": "L3354", "weight": 1.0, "source": "app_api_crm_invoice_info_add", "target": "app_schemas_crm_invoice_info_invoiceinfocreatebody", @@ -71756,7 +72164,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3375", + "source_location": "L3401", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_core_response_error_response" @@ -71767,7 +72175,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3373", + "source_location": "L3399", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_core_response_success_response" @@ -71778,7 +72186,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3360", + "source_location": "L3386", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_core_tenant_context_get_tenant_no" @@ -71789,7 +72197,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3361", + "source_location": "L3387", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71800,7 +72208,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3365", + "source_location": "L3391", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_crud_crm_invoice_info_update_invoice_info" @@ -71810,7 +72218,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3353", + "source_location": "L3379", "weight": 1.0, "source": "app_api_crm_invoice_info_update", "target": "app_schemas_crm_invoice_info_invoiceinfoupdatebody", @@ -71822,7 +72230,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3393", + "source_location": "L3419", "weight": 1.0, "source": "app_api_crm_invoice_info_delete", "target": "app_core_response_error_response" @@ -71833,7 +72241,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3396", + "source_location": "L3422", "weight": 1.0, "source": "app_api_crm_invoice_info_delete", "target": "app_core_response_success_response" @@ -71844,7 +72252,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3395", + "source_location": "L3421", "weight": 1.0, "source": "app_api_crm_invoice_info_delete", "target": "app_crud_crm_invoice_info_soft_delete_invoice_info" @@ -71854,7 +72262,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3381", + "source_location": "L3407", "weight": 1.0, "source": "app_api_crm_invoice_info_delete", "target": "app_schemas_crm_invoice_info_invoiceinfodeletebody", @@ -71866,7 +72274,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3423", + "source_location": "L3449", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_core_response_error_response" @@ -71877,7 +72285,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3421", + "source_location": "L3447", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_core_response_success_response" @@ -71888,7 +72296,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3411", + "source_location": "L3437", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_core_tenant_context_get_tenant_no" @@ -71899,7 +72307,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3412", + "source_location": "L3438", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71910,7 +72318,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3414", + "source_location": "L3440", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_crud_crm_invoice_info_set_default_invoice_info" @@ -71920,7 +72328,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3404", + "source_location": "L3430", "weight": 1.0, "source": "app_api_crm_invoice_info_set_default", "target": "app_schemas_crm_invoice_info_invoiceinfosetdefaultbody", @@ -71932,7 +72340,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3473", + "source_location": "L3499", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_core_response_error_response" @@ -71943,7 +72351,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3465", + "source_location": "L3491", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_core_response_success_response" @@ -71954,7 +72362,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3439", + "source_location": "L3465", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_core_tenant_context_get_tenant_no" @@ -71965,7 +72373,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3443", + "source_location": "L3469", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_crud_crm_clue_list_clues" @@ -71976,7 +72384,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3440", + "source_location": "L3466", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -71986,7 +72394,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3432", + "source_location": "L3458", "weight": 1.0, "source": "app_api_crm_clue_list", "target": "app_schemas_crm_clue_cluelistbody", @@ -71998,7 +72406,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3490", + "source_location": "L3516", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_core_response_error_response" @@ -72009,7 +72417,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3498", + "source_location": "L3524", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_core_response_success_response" @@ -72020,7 +72428,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3486", + "source_location": "L3512", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -72031,7 +72439,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3492", + "source_location": "L3518", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_crud_crm_clue_get_clue" @@ -72042,7 +72450,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3487", + "source_location": "L3513", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72053,7 +72461,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3495", + "source_location": "L3521", "weight": 1.0, "source": "app_api_crm_clue_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_owner_row_in_scope" @@ -72064,7 +72472,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3523", + "source_location": "L3549", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_core_response_error_response" @@ -72075,7 +72483,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3521", + "source_location": "L3547", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_core_response_success_response" @@ -72086,7 +72494,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3513", + "source_location": "L3539", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_core_tenant_context_get_tenant_no" @@ -72097,7 +72505,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3515", + "source_location": "L3541", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_crud_crm_clue_create_clue" @@ -72107,7 +72515,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3506", + "source_location": "L3532", "weight": 1.0, "source": "app_api_crm_clue_create", "target": "app_schemas_crm_clue_cluecreatebody", @@ -72119,7 +72527,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3545", + "source_location": "L3571", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_core_response_error_response" @@ -72130,7 +72538,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3543", + "source_location": "L3569", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_core_response_success_response" @@ -72141,7 +72549,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3536", + "source_location": "L3562", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_core_tenant_context_get_tenant_no" @@ -72152,7 +72560,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3542", + "source_location": "L3568", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_crud_crm_clue_update_clue" @@ -72163,7 +72571,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3537", + "source_location": "L3563", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72173,7 +72581,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3529", + "source_location": "L3555", "weight": 1.0, "source": "app_api_crm_clue_update", "target": "app_schemas_crm_clue_clueupdatebody", @@ -72185,7 +72593,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3575", + "source_location": "L3601", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_core_response_error_response" @@ -72196,7 +72604,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3576", + "source_location": "L3602", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_core_response_success_response" @@ -72207,7 +72615,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3558", + "source_location": "L3584", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -72218,7 +72626,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3565", + "source_location": "L3591", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_crud_crm_clue_soft_delete_clue" @@ -72229,7 +72637,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3559", + "source_location": "L3585", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72239,7 +72647,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3551", + "source_location": "L3577", "weight": 1.0, "source": "app_api_crm_clue_delete", "target": "app_schemas_crm_clue_cluedeletebody", @@ -72251,7 +72659,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3604", + "source_location": "L3630", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_core_response_error_response" @@ -72262,7 +72670,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3602", + "source_location": "L3628", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_core_response_success_response" @@ -72273,7 +72681,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3589", + "source_location": "L3615", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_core_tenant_context_get_tenant_no" @@ -72284,7 +72692,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3592", + "source_location": "L3618", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_crud_crm_clue_assign_clues" @@ -72295,7 +72703,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3590", + "source_location": "L3616", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72305,7 +72713,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3582", + "source_location": "L3608", "weight": 1.0, "source": "app_api_crm_clue_assign", "target": "app_schemas_crm_clue_clueassignbody", @@ -72317,7 +72725,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3632", + "source_location": "L3658", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_core_response_error_response" @@ -72328,7 +72736,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3630", + "source_location": "L3656", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_core_response_success_response" @@ -72339,7 +72747,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3617", + "source_location": "L3643", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_core_tenant_context_get_tenant_no" @@ -72350,7 +72758,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3622", + "source_location": "L3648", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_crud_crm_clue_convert_clue" @@ -72361,7 +72769,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3618", + "source_location": "L3644", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72371,7 +72779,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3610", + "source_location": "L3636", "weight": 1.0, "source": "app_api_crm_clue_convert", "target": "app_schemas_crm_clue_clueconvertbody", @@ -72383,7 +72791,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3648", + "source_location": "L3674", "weight": 1.0, "source": "app_api_crm_clue_check_convert", "target": "app_core_response_error_response" @@ -72394,7 +72802,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3650", + "source_location": "L3676", "weight": 1.0, "source": "app_api_crm_clue_check_convert", "target": "app_core_response_success_response" @@ -72405,7 +72813,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3645", + "source_location": "L3671", "weight": 1.0, "source": "app_api_crm_clue_check_convert", "target": "app_core_tenant_context_get_tenant_no" @@ -72416,7 +72824,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3649", + "source_location": "L3675", "weight": 1.0, "source": "app_api_crm_clue_check_convert", "target": "app_crud_crm_clue_check_convert" @@ -72427,7 +72835,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3673", + "source_location": "L3699", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_core_response_error_response" @@ -72438,7 +72846,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3671", + "source_location": "L3697", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_core_response_success_response" @@ -72449,7 +72857,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3665", + "source_location": "L3691", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_core_tenant_context_get_tenant_no" @@ -72460,7 +72868,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3668", + "source_location": "L3694", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_crud_crm_clue_update_clue_status" @@ -72471,7 +72879,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3666", + "source_location": "L3692", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72481,7 +72889,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3658", + "source_location": "L3684", "weight": 1.0, "source": "app_api_crm_clue_update_status", "target": "app_schemas_crm_clue_cluestatusbody", @@ -72493,7 +72901,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3694", + "source_location": "L3720", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_core_response_error_response" @@ -72504,7 +72912,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3702", + "source_location": "L3728", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_core_response_success_response" @@ -72515,7 +72923,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3686", + "source_location": "L3712", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_core_tenant_context_get_tenant_no" @@ -72526,7 +72934,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3697", + "source_location": "L3723", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_crud_crm_clue_invalid_clue" @@ -72537,7 +72945,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3687", + "source_location": "L3713", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72547,7 +72955,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3679", + "source_location": "L3705", "weight": 1.0, "source": "app_api_crm_clue_invalid", "target": "app_schemas_crm_clue_clueinvalidbody", @@ -72559,7 +72967,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3725", + "source_location": "L3751", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_core_response_error_response" @@ -72570,7 +72978,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3723", + "source_location": "L3749", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_core_response_success_response" @@ -72581,7 +72989,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3717", + "source_location": "L3743", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_core_tenant_context_get_tenant_no" @@ -72592,7 +73000,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3720", + "source_location": "L3746", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_crud_crm_clue_update_clue_level" @@ -72603,7 +73011,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3718", + "source_location": "L3744", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72613,7 +73021,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3710", + "source_location": "L3736", "weight": 1.0, "source": "app_api_crm_clue_update_level", "target": "app_schemas_crm_clue_cluelevelbody", @@ -72625,7 +73033,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3771", + "source_location": "L3797", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_core_response_error_response" @@ -72636,7 +73044,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3763", + "source_location": "L3789", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_core_response_success_response" @@ -72647,7 +73055,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3738", + "source_location": "L3764", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_core_tenant_context_get_tenant_no" @@ -72658,7 +73066,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3742", + "source_location": "L3768", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_crud_crm_clue_list_clues" @@ -72669,7 +73077,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3739", + "source_location": "L3765", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72679,7 +73087,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3731", + "source_location": "L3757", "weight": 1.0, "source": "app_api_crm_clue_mine", "target": "app_schemas_crm_clue_cluelistbody", @@ -72691,7 +73099,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3817", + "source_location": "L3843", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_core_response_error_response" @@ -72702,7 +73110,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3809", + "source_location": "L3835", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_core_response_success_response" @@ -72713,7 +73121,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3784", + "source_location": "L3810", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_core_tenant_context_get_tenant_no" @@ -72724,7 +73132,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3788", + "source_location": "L3814", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_crud_crm_clue_list_clues" @@ -72735,7 +73143,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3785", + "source_location": "L3811", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72745,7 +73153,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3777", + "source_location": "L3803", "weight": 1.0, "source": "app_api_crm_clue_to_follow", "target": "app_schemas_crm_clue_cluelistbody", @@ -72757,7 +73165,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3863", + "source_location": "L3889", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_core_response_error_response" @@ -72768,7 +73176,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3855", + "source_location": "L3881", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_core_response_success_response" @@ -72779,7 +73187,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3830", + "source_location": "L3856", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_core_tenant_context_get_tenant_no" @@ -72790,7 +73198,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3834", + "source_location": "L3860", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_crud_crm_clue_list_clues" @@ -72801,7 +73209,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3831", + "source_location": "L3857", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72811,7 +73219,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3823", + "source_location": "L3849", "weight": 1.0, "source": "app_api_crm_clue_today_new", "target": "app_schemas_crm_clue_cluelistbody", @@ -72823,7 +73231,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3880", + "source_location": "L3906", "weight": 1.0, "source": "app_api_crm_clue_park_area_list", "target": "app_core_response_error_response" @@ -72834,33 +73242,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3878", + "source_location": "L3904", "weight": 1.0, "source": "app_api_crm_clue_park_area_list", "target": "app_core_response_success_response" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3876", - "weight": 1.0, - "source": "app_api_crm_clue_park_area_list", - "target": "app_core_tenant_context_get_tenant_no" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L3910", - "weight": 1.0, - "source": "app_api_crm_clue_follow_list", - "target": "app_core_response_error_response" - }, { "relation": "calls", "context": "call", @@ -72869,6 +73255,28 @@ "source_file": "app/api/crm.py", "source_location": "L3902", "weight": 1.0, + "source": "app_api_crm_clue_park_area_list", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3936", + "weight": 1.0, + "source": "app_api_crm_clue_follow_list", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L3928", + "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_core_response_success_response" }, @@ -72878,7 +73286,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3891", + "source_location": "L3917", "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_core_tenant_context_get_tenant_no" @@ -72889,7 +73297,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3893", + "source_location": "L3919", "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_crud_crm_clue_follow_list_clue_follows" @@ -72900,7 +73308,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3892", + "source_location": "L3918", "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72910,7 +73318,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3884", + "source_location": "L3910", "weight": 1.0, "source": "app_api_crm_clue_follow_list", "target": "app_schemas_crm_clue_cluefollowlistbody", @@ -72922,7 +73330,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3942", + "source_location": "L3968", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_core_response_error_response" @@ -72933,7 +73341,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3940", + "source_location": "L3966", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_core_response_success_response" @@ -72944,7 +73352,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3923", + "source_location": "L3949", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_core_tenant_context_get_tenant_no" @@ -72955,7 +73363,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3932", + "source_location": "L3958", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_crud_crm_clue_follow_create_clue_follow" @@ -72966,7 +73374,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3924", + "source_location": "L3950", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -72976,7 +73384,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3916", + "source_location": "L3942", "weight": 1.0, "source": "app_api_crm_clue_follow_create", "target": "app_schemas_crm_clue_cluefollowcreatebody", @@ -72988,7 +73396,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3975", + "source_location": "L4001", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_core_response_error_response" @@ -72999,7 +73407,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3973", + "source_location": "L3999", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_core_response_success_response" @@ -73010,7 +73418,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3955", + "source_location": "L3981", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_core_tenant_context_get_tenant_no" @@ -73021,7 +73429,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3961", + "source_location": "L3987", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_crud_crm_clue_follow_delete_clue_follow" @@ -73032,7 +73440,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3956", + "source_location": "L3982", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73042,7 +73450,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L3948", + "source_location": "L3974", "weight": 1.0, "source": "app_api_crm_clue_follow_delete", "target": "app_schemas_crm_clue_cluefollowdeletebody", @@ -73054,7 +73462,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3990", + "source_location": "L4016", "weight": 1.0, "source": "app_api_crm_clue_follow_statistics", "target": "app_core_response_error_response" @@ -73065,7 +73473,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3994", + "source_location": "L4020", "weight": 1.0, "source": "app_api_crm_clue_follow_statistics", "target": "app_core_response_success_response" @@ -73076,7 +73484,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3986", + "source_location": "L4012", "weight": 1.0, "source": "app_api_crm_clue_follow_statistics", "target": "app_core_tenant_context_get_tenant_no" @@ -73087,7 +73495,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L3987", + "source_location": "L4013", "weight": 1.0, "source": "app_api_crm_clue_follow_statistics", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73098,7 +73506,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4099", + "source_location": "L4125", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_core_response_error_response" @@ -73109,7 +73517,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4055", + "source_location": "L4081", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_core_tenant_context_get_tenant_no" @@ -73120,7 +73528,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4059", + "source_location": "L4085", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_crud_crm_clue_list_clues" @@ -73131,7 +73539,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4056", + "source_location": "L4082", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73141,7 +73549,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4048", + "source_location": "L4074", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_schemas_crm_clue_cluelistbody", @@ -73153,7 +73561,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4090", + "source_location": "L4116", "weight": 1.0, "source": "app_api_crm_clue_export", "target": "app_utils_excel_export_export_rows_to_xlsx_response" @@ -73164,7 +73572,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4136", + "source_location": "L4162", "weight": 1.0, "source": "app_api_crm_clue_import_template", "target": "app_core_response_error_response" @@ -73175,7 +73583,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "app/api/crm.py", - "source_location": "L4128", + "source_location": "L4154", "weight": 1.0, "source": "app_api_crm_clue_import_template", "target": "streamingresponse" @@ -73186,7 +73594,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4159", + "source_location": "L4185", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_core_response_error_response" @@ -73197,7 +73605,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4184", + "source_location": "L4210", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_core_response_success_response" @@ -73208,7 +73616,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4150", + "source_location": "L4176", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_core_tenant_context_get_tenant_no" @@ -73219,7 +73627,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4177", + "source_location": "L4203", "weight": 1.0, "source": "app_api_crm_clue_import", "target": "app_crud_crm_clue_import_clues" @@ -73230,7 +73638,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4210", + "source_location": "L4236", "weight": 1.0, "source": "app_api_crm_clue_check_duplicate", "target": "app_core_response_error_response" @@ -73241,7 +73649,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4208", + "source_location": "L4234", "weight": 1.0, "source": "app_api_crm_clue_check_duplicate", "target": "app_core_response_success_response" @@ -73252,7 +73660,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4199", + "source_location": "L4225", "weight": 1.0, "source": "app_api_crm_clue_check_duplicate", "target": "app_core_tenant_context_get_tenant_no" @@ -73263,7 +73671,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4201", + "source_location": "L4227", "weight": 1.0, "source": "app_api_crm_clue_check_duplicate", "target": "app_crud_crm_clue_check_duplicate_clue" @@ -73274,7 +73682,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4227", + "source_location": "L4253", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_core_response_error_response" @@ -73285,7 +73693,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4232", + "source_location": "L4258", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_core_response_success_response" @@ -73296,7 +73704,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4223", + "source_location": "L4249", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -73307,7 +73715,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4228", + "source_location": "L4254", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_crud_crm_clue_follow_get_clue_follow" @@ -73318,7 +73726,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4224", + "source_location": "L4250", "weight": 1.0, "source": "app_api_crm_clue_follow_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73329,7 +73737,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4255", + "source_location": "L4281", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_core_response_error_response" @@ -73340,7 +73748,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4253", + "source_location": "L4279", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_core_response_success_response" @@ -73351,7 +73759,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4247", + "source_location": "L4273", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_core_tenant_context_get_tenant_no" @@ -73362,7 +73770,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4250", + "source_location": "L4276", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_crud_crm_clue_follow_update_clue_follow" @@ -73373,7 +73781,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4248", + "source_location": "L4274", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73383,7 +73791,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4240", + "source_location": "L4266", "weight": 1.0, "source": "app_api_crm_clue_follow_update", "target": "app_schemas_crm_clue_cluefollowupdatebody", @@ -73395,7 +73803,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4283", + "source_location": "L4309", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_core_response_error_response" @@ -73406,7 +73814,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4281", + "source_location": "L4307", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_core_response_success_response" @@ -73417,7 +73825,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4268", + "source_location": "L4294", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_core_tenant_context_get_tenant_no" @@ -73428,7 +73836,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4272", + "source_location": "L4298", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_crud_crm_clue_statistics_get_clue_overview_statistics" @@ -73439,7 +73847,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4269", + "source_location": "L4295", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73449,7 +73857,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4261", + "source_location": "L4287", "weight": 1.0, "source": "app_api_crm_clue_statistics_overview", "target": "app_schemas_crm_clue_cluestatisticsbody", @@ -73461,7 +73869,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4308", + "source_location": "L4334", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_core_response_error_response" @@ -73472,7 +73880,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4306", + "source_location": "L4332", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_core_response_success_response" @@ -73483,7 +73891,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4296", + "source_location": "L4322", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_core_tenant_context_get_tenant_no" @@ -73494,7 +73902,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4299", + "source_location": "L4325", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_crud_crm_clue_statistics_get_clue_source_statistics" @@ -73505,7 +73913,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4297", + "source_location": "L4323", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73515,7 +73923,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4289", + "source_location": "L4315", "weight": 1.0, "source": "app_api_crm_clue_statistics_source", "target": "app_schemas_crm_clue_cluestatisticsbody", @@ -73527,7 +73935,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4325", + "source_location": "L4351", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_core_response_error_response" @@ -73538,7 +73946,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4323", + "source_location": "L4349", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_core_response_success_response" @@ -73549,7 +73957,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4320", + "source_location": "L4346", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_core_tenant_context_get_tenant_no" @@ -73560,7 +73968,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4322", + "source_location": "L4348", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_crud_crm_clue_statistics_get_clue_level_statistics" @@ -73571,7 +73979,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4321", + "source_location": "L4347", "weight": 1.0, "source": "app_api_crm_clue_statistics_level", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73582,7 +73990,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4352", + "source_location": "L4378", "weight": 1.0, "source": "app_api_crm_clue_statistics_trend", "target": "app_core_response_error_response" @@ -73593,7 +74001,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4350", + "source_location": "L4376", "weight": 1.0, "source": "app_api_crm_clue_statistics_trend", "target": "app_core_response_success_response" @@ -73604,77 +74012,11 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4338", + "source_location": "L4364", "weight": 1.0, "source": "app_api_crm_clue_statistics_trend", "target": "app_core_tenant_context_get_tenant_no" }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L4342", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_trend", - "target": "app_crud_crm_clue_statistics_get_clue_trend_statistics" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L4339", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_trend", - "target": "app_crud_crm_data_scope_helpers_crm_user_info" - }, - { - "relation": "references", - "context": "parameter_type", - "confidence": "EXTRACTED", - "source_file": "app/api/crm.py", - "source_location": "L4331", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_trend", - "target": "app_schemas_crm_clue_cluestatisticsbody", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L4377", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_owner", - "target": "app_core_response_error_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L4375", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_owner", - "target": "app_core_response_success_response" - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "confidence_score": 1.0, - "source_file": "app/api/crm.py", - "source_location": "L4365", - "weight": 1.0, - "source": "app_api_crm_clue_statistics_owner", - "target": "app_core_tenant_context_get_tenant_no" - }, { "relation": "calls", "context": "call", @@ -73683,6 +74025,72 @@ "source_file": "app/api/crm.py", "source_location": "L4368", "weight": 1.0, + "source": "app_api_crm_clue_statistics_trend", + "target": "app_crud_crm_clue_statistics_get_clue_trend_statistics" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L4365", + "weight": 1.0, + "source": "app_api_crm_clue_statistics_trend", + "target": "app_crud_crm_data_scope_helpers_crm_user_info" + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/api/crm.py", + "source_location": "L4357", + "weight": 1.0, + "source": "app_api_crm_clue_statistics_trend", + "target": "app_schemas_crm_clue_cluestatisticsbody", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L4403", + "weight": 1.0, + "source": "app_api_crm_clue_statistics_owner", + "target": "app_core_response_error_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L4401", + "weight": 1.0, + "source": "app_api_crm_clue_statistics_owner", + "target": "app_core_response_success_response" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L4391", + "weight": 1.0, + "source": "app_api_crm_clue_statistics_owner", + "target": "app_core_tenant_context_get_tenant_no" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "app/api/crm.py", + "source_location": "L4394", + "weight": 1.0, "source": "app_api_crm_clue_statistics_owner", "target": "app_crud_crm_clue_statistics_get_clue_owner_statistics" }, @@ -73692,7 +74100,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4366", + "source_location": "L4392", "weight": 1.0, "source": "app_api_crm_clue_statistics_owner", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73702,7 +74110,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4358", + "source_location": "L4384", "weight": 1.0, "source": "app_api_crm_clue_statistics_owner", "target": "app_schemas_crm_clue_cluestatisticsbody", @@ -73714,7 +74122,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4438", + "source_location": "L4464", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_core_response_error_response" @@ -73725,7 +74133,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4428", + "source_location": "L4454", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_core_response_success_response" @@ -73736,7 +74144,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4410", + "source_location": "L4436", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_core_tenant_context_get_tenant_no" @@ -73747,7 +74155,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4411", + "source_location": "L4437", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73758,7 +74166,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4412", + "source_location": "L4438", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_crud_crm_price_letter_list_price_letters" @@ -73768,7 +74176,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4403", + "source_location": "L4429", "weight": 1.0, "source": "app_api_crm_price_letter_list", "target": "app_schemas_crm_price_letter_priceletterlistbody", @@ -73780,7 +74188,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4455", + "source_location": "L4481", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_core_response_error_response" @@ -73791,7 +74199,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4457", + "source_location": "L4483", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_core_response_success_response" @@ -73802,7 +74210,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4451", + "source_location": "L4477", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_core_tenant_context_get_tenant_no" @@ -73813,7 +74221,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4452", + "source_location": "L4478", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73824,7 +74232,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4456", + "source_location": "L4482", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope" @@ -73835,7 +74243,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4453", + "source_location": "L4479", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_crud_crm_price_letter_get_price_letter" @@ -73845,7 +74253,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4444", + "source_location": "L4470", "weight": 1.0, "source": "app_api_crm_price_letter_detail", "target": "app_schemas_crm_price_letter_priceletterdetailbody", @@ -73857,7 +74265,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4486", + "source_location": "L4512", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_core_response_error_response" @@ -73868,7 +74276,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4484", + "source_location": "L4510", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_core_response_success_response" @@ -73879,7 +74287,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4473", + "source_location": "L4499", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_core_tenant_context_get_tenant_no" @@ -73890,7 +74298,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4477", + "source_location": "L4503", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_crud_crm_price_letter_create_price_letter" @@ -73900,7 +74308,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4466", + "source_location": "L4492", "weight": 1.0, "source": "app_api_crm_price_letter_add", "target": "app_schemas_crm_price_letter_pricelettercreatebody", @@ -73912,7 +74320,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4506", + "source_location": "L4532", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_core_response_error_response" @@ -73923,7 +74331,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4515", + "source_location": "L4541", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_core_response_success_response" @@ -73934,7 +74342,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4500", + "source_location": "L4526", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_core_tenant_context_get_tenant_no" @@ -73945,7 +74353,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4501", + "source_location": "L4527", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -73956,7 +74364,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4507", + "source_location": "L4533", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_crud_crm_price_letter_update_price_letter" @@ -73966,7 +74374,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4493", + "source_location": "L4519", "weight": 1.0, "source": "app_api_crm_price_letter_update", "target": "app_schemas_crm_price_letter_priceletterupdatebody", @@ -73978,7 +74386,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4545", + "source_location": "L4571", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_core_response_error_response" @@ -73989,7 +74397,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4543", + "source_location": "L4569", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_core_response_success_response" @@ -74000,7 +74408,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4531", + "source_location": "L4557", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_core_tenant_context_get_tenant_no" @@ -74011,7 +74419,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4532", + "source_location": "L4558", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_crud_crm_data_scope_helpers_crm_user_info" @@ -74022,7 +74430,7 @@ "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "app/api/crm.py", - "source_location": "L4534", + "source_location": "L4560", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_crud_crm_price_letter_void_price_letter" @@ -74032,7 +74440,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/crm.py", - "source_location": "L4524", + "source_location": "L4550", "weight": 1.0, "source": "app_api_crm_price_letter_void", "target": "app_schemas_crm_price_letter_pricelettervoidbody", @@ -108364,7 +108772,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "app/crud/crm/contract.py", - "source_location": "L1708", + "source_location": "L1820", "weight": 1.0, "source": "app_crud_crm_contract_query_expiring", "target": "timedelta" @@ -108375,7 +108783,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "app/crud/crm/customer.py", - "source_location": "L216", + "source_location": "L257", "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "timedelta" @@ -113710,7 +114118,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2365", + "source_location": "L2477", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_changes", "target": "app_core_delete_guard_assert_row_deletable_by_creator", @@ -113721,7 +114129,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2570", + "source_location": "L2682", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_templates", "target": "app_core_delete_guard_assert_row_deletable_by_creator", @@ -113732,7 +114140,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1178", + "source_location": "L1288", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contracts", "target": "app_core_delete_guard_assert_row_deletable_by_creator", @@ -113776,7 +114184,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L505", + "source_location": "L546", "weight": 1.0, "source": "app_crud_crm_customer_soft_delete_customer", "target": "app_core_delete_guard_assert_row_deletable_by_creator", @@ -118157,7 +118565,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1011", + "source_location": "L1110", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_core_utils_generate_uuid", @@ -118168,7 +118576,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2282", + "source_location": "L2394", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_core_utils_generate_uuid", @@ -118179,7 +118587,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2455", + "source_location": "L2567", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_core_utils_generate_uuid", @@ -118212,7 +118620,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L361", + "source_location": "L365", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_core_utils_generate_uuid", @@ -118234,7 +118642,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L403", + "source_location": "L444", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_core_utils_generate_uuid", @@ -118465,7 +118873,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1008", + "source_location": "L1016", "weight": 1.0, "source": "app_crud_crm_product_create_oss", "target": "app_core_utils_generate_uuid", @@ -118509,7 +118917,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1118", + "source_location": "L1126", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_core_utils_generate_uuid", @@ -119554,7 +119962,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L204", + "source_location": "L205", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_resolve_vehicle", "target": "app_core_utils_generate_uuid", @@ -124136,7 +124544,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L884", + "source_location": "L989", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contact_get_contact", @@ -124289,7 +124697,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L660", + "source_location": "L702", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -124299,7 +124707,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L782", + "source_location": "L887", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_apply_contract_entity_fields", @@ -124353,7 +124761,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2148", + "source_location": "L2260", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_batch_assign_owner", @@ -124363,7 +124771,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1248", + "source_location": "L1358", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_batch_submit_contract_approval", @@ -124379,6 +124787,16 @@ "target": "app_crud_crm_contract_build_contract_filters", "confidence_score": 1.0 }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L579", + "weight": 1.0, + "source": "app_crud_crm_contract", + "target": "app_crud_crm_contract_build_contract_name_from_parties", + "confidence_score": 1.0 + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -124393,7 +124811,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L776", + "source_location": "L881", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_calc_amount_with_tax", @@ -124403,7 +124821,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1886", + "source_location": "L1998", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_change_row_to_dict", @@ -124413,7 +124831,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L628", + "source_location": "L670", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_contract_no_exists", @@ -124423,7 +124841,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1643", + "source_location": "L1755", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_contract_period_key", @@ -124443,7 +124861,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L958", + "source_location": "L1063", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_create_contract", @@ -124453,7 +124871,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2258", + "source_location": "L2370", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_create_contract_change", @@ -124463,7 +124881,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2437", + "source_location": "L2549", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_create_contract_template", @@ -124473,7 +124891,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2064", + "source_location": "L2176", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_create_from_opportunity", @@ -124483,7 +124901,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1756", + "source_location": "L1868", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_create_from_quote", @@ -124503,7 +124921,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2182", + "source_location": "L2294", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_download_contract_pdf", @@ -124513,7 +124931,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2243", + "source_location": "L2355", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_enrich_change_rows", @@ -124533,7 +124951,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2409", + "source_location": "L2521", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_execute_change", @@ -124543,7 +124961,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2421", + "source_location": "L2533", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_export_contract_changes", @@ -124553,7 +124971,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2604", + "source_location": "L2716", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_export_contract_templates", @@ -124563,7 +124981,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1869", + "source_location": "L1981", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_export_contracts", @@ -124573,7 +124991,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1328", + "source_location": "L1438", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_finish_contract", @@ -124593,7 +125011,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L693", + "source_location": "L769", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_generate_contract_name", @@ -124603,7 +125021,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L579", + "source_location": "L623", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_generate_contract_no", @@ -124613,7 +125031,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2199", + "source_location": "L2311", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_generate_template_no", @@ -124623,7 +125041,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2231", + "source_location": "L2343", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_get_change_row", @@ -124643,7 +125061,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1937", + "source_location": "L2049", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_get_contract_change_detail", @@ -124683,7 +125101,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2019", + "source_location": "L2131", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_get_contract_template_detail", @@ -124723,7 +125141,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1409", + "source_location": "L1519", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_get_template", @@ -124733,7 +125151,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1351", + "source_location": "L1461", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_invalid_contract", @@ -124753,7 +125171,17 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1908", + "source_location": "L815", + "weight": 1.0, + "source": "app_crud_crm_contract", + "target": "app_crud_crm_contract_is_framework_contract_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L2020", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_list_contract_changes", @@ -124763,7 +125191,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1986", + "source_location": "L2098", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_list_contract_templates", @@ -124783,7 +125211,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L722", + "source_location": "L827", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_normalize_framework_contract_data", @@ -124793,7 +125221,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2039", + "source_location": "L2151", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_opportunity_products_to_contract_products", @@ -124889,7 +125317,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1698", + "source_location": "L1810", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_query_expiring", @@ -124899,7 +125327,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1725", + "source_location": "L1837", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_quote_products_to_contract_products", @@ -124909,7 +125337,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1815", + "source_location": "L1927", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_renew_contract", @@ -124919,7 +125347,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L648", + "source_location": "L690", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_replace_contract_no_date", @@ -124929,12 +125357,22 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L758", + "source_location": "L863", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_resolve_contract_product_ids", "confidence_score": 1.0 }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L735", + "weight": 1.0, + "source": "app_crud_crm_contract", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -124959,7 +125397,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1379", + "source_location": "L1489", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_save_template", @@ -124969,7 +125407,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2117", + "source_location": "L2229", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_sign_contract", @@ -124979,7 +125417,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2347", + "source_location": "L2459", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_soft_delete_contract_changes", @@ -124989,7 +125427,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2544", + "source_location": "L2656", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_soft_delete_contract_templates", @@ -124999,7 +125437,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1162", + "source_location": "L1272", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_soft_delete_contracts", @@ -125009,7 +125447,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1305", + "source_location": "L1415", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_start_execute", @@ -125019,7 +125457,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1574", + "source_location": "L1684", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_statistics_by_status", @@ -125029,7 +125467,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1608", + "source_location": "L1718", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_statistics_by_type", @@ -125039,7 +125477,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1511", + "source_location": "L1621", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_statistics_overview", @@ -125049,7 +125487,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1652", + "source_location": "L1764", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_statistics_trend", @@ -125059,7 +125497,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2373", + "source_location": "L2485", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_submit_change_approval", @@ -125069,7 +125507,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1205", + "source_location": "L1315", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_submit_contract_approval", @@ -125079,7 +125517,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1961", + "source_location": "L2073", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_template_row_to_dict", @@ -125089,7 +125527,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2578", + "source_location": "L2690", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_toggle_contract_template_active", @@ -125109,7 +125547,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1057", + "source_location": "L1166", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_update_contract", @@ -125119,7 +125557,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2309", + "source_location": "L2421", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_update_contract_change", @@ -125129,7 +125567,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2487", + "source_location": "L2599", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_update_contract_template", @@ -125139,7 +125577,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1439", + "source_location": "L1549", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_upload_attachments", @@ -125149,7 +125587,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1464", + "source_location": "L1574", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_upload_attachments_with_category", @@ -125159,7 +125597,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1422", + "source_location": "L1532", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_upload_file", @@ -125169,7 +125607,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L714", + "source_location": "L819", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_validate_contract_type_and_products", @@ -125179,7 +125617,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1186", + "source_location": "L1296", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", @@ -125189,7 +125627,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L735", + "source_location": "L840", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_validate_product_prices_by_contract_type", @@ -125199,7 +125637,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L749", + "source_location": "L854", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_validate_sale_purchase_contract_amount", @@ -125209,7 +125647,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2396", + "source_location": "L2508", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_withdraw_change", @@ -125219,7 +125657,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1278", + "source_location": "L1388", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_contract_withdraw_contract_approval", @@ -125329,7 +125767,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2097", + "source_location": "L2209", "weight": 1.0, "source": "app_crud_crm_contract", "target": "app_crud_crm_opportunity_product_list_products_by_opportunity", @@ -125554,6 +125992,17 @@ "target": "app_crud_crm_contract", "confidence_score": 1.0 }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L3", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "app_crud_crm_contract", + "confidence_score": 1.0 + }, { "relation": "imports_from", "context": "import", @@ -125625,7 +126074,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L660", + "source_location": "L702", "weight": 1.0, "source": "app_crud_crm_contract_align_contract_no_to_sign_date", "target": "app_crud_crm_contract_py_session", @@ -125636,7 +126085,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L782", + "source_location": "L887", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_py_session", @@ -125647,7 +126096,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2148", + "source_location": "L2260", "weight": 1.0, "source": "app_crud_crm_contract_batch_assign_owner", "target": "app_crud_crm_contract_py_session", @@ -125658,7 +126107,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1248", + "source_location": "L1358", "weight": 1.0, "source": "app_crud_crm_contract_batch_submit_contract_approval", "target": "app_crud_crm_contract_py_session", @@ -125680,7 +126129,18 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L628", + "source_location": "L579", + "weight": 1.0, + "source": "app_crud_crm_contract_build_contract_name_from_parties", + "target": "app_crud_crm_contract_py_session", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L670", "weight": 1.0, "source": "app_crud_crm_contract_contract_no_exists", "target": "app_crud_crm_contract_py_session", @@ -125691,7 +126151,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L958", + "source_location": "L1063", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_py_session", @@ -125702,7 +126162,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2258", + "source_location": "L2370", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_py_session", @@ -125713,7 +126173,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2437", + "source_location": "L2549", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_py_session", @@ -125724,7 +126184,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2064", + "source_location": "L2176", "weight": 1.0, "source": "app_crud_crm_contract_create_from_opportunity", "target": "app_crud_crm_contract_py_session", @@ -125735,7 +126195,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1756", + "source_location": "L1868", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_contract_py_session", @@ -125746,7 +126206,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2182", + "source_location": "L2294", "weight": 1.0, "source": "app_crud_crm_contract_download_contract_pdf", "target": "app_crud_crm_contract_py_session", @@ -125757,7 +126217,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2243", + "source_location": "L2355", "weight": 1.0, "source": "app_crud_crm_contract_enrich_change_rows", "target": "app_crud_crm_contract_py_session", @@ -125768,7 +126228,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2409", + "source_location": "L2521", "weight": 1.0, "source": "app_crud_crm_contract_execute_change", "target": "app_crud_crm_contract_py_session", @@ -125779,7 +126239,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2421", + "source_location": "L2533", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_changes", "target": "app_crud_crm_contract_py_session", @@ -125790,7 +126250,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2604", + "source_location": "L2716", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_templates", "target": "app_crud_crm_contract_py_session", @@ -125801,7 +126261,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1869", + "source_location": "L1981", "weight": 1.0, "source": "app_crud_crm_contract_export_contracts", "target": "app_crud_crm_contract_py_session", @@ -125812,7 +126272,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1328", + "source_location": "L1438", "weight": 1.0, "source": "app_crud_crm_contract_finish_contract", "target": "app_crud_crm_contract_py_session", @@ -125823,7 +126283,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L579", + "source_location": "L623", "weight": 1.0, "source": "app_crud_crm_contract_generate_contract_no", "target": "app_crud_crm_contract_py_session", @@ -125834,7 +126294,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2199", + "source_location": "L2311", "weight": 1.0, "source": "app_crud_crm_contract_generate_template_no", "target": "app_crud_crm_contract_py_session", @@ -125845,7 +126305,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2231", + "source_location": "L2343", "weight": 1.0, "source": "app_crud_crm_contract_get_change_row", "target": "app_crud_crm_contract_py_session", @@ -125867,7 +126327,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1937", + "source_location": "L2049", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_change_detail", "target": "app_crud_crm_contract_py_session", @@ -125911,7 +126371,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2019", + "source_location": "L2131", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_template_detail", "target": "app_crud_crm_contract_py_session", @@ -125944,7 +126404,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1409", + "source_location": "L1519", "weight": 1.0, "source": "app_crud_crm_contract_get_template", "target": "app_crud_crm_contract_py_session", @@ -125955,7 +126415,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1351", + "source_location": "L1461", "weight": 1.0, "source": "app_crud_crm_contract_invalid_contract", "target": "app_crud_crm_contract_py_session", @@ -125966,7 +126426,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1908", + "source_location": "L2020", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_changes", "target": "app_crud_crm_contract_py_session", @@ -125977,7 +126437,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1986", + "source_location": "L2098", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_templates", "target": "app_crud_crm_contract_py_session", @@ -125999,7 +126459,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1698", + "source_location": "L1810", "weight": 1.0, "source": "app_crud_crm_contract_query_expiring", "target": "app_crud_crm_contract_py_session", @@ -126010,7 +126470,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1815", + "source_location": "L1927", "weight": 1.0, "source": "app_crud_crm_contract_renew_contract", "target": "app_crud_crm_contract_py_session", @@ -126021,7 +126481,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L758", + "source_location": "L863", "weight": 1.0, "source": "app_crud_crm_contract_resolve_contract_product_ids", "target": "app_crud_crm_contract_py_session", @@ -126043,7 +126503,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1379", + "source_location": "L1489", "weight": 1.0, "source": "app_crud_crm_contract_save_template", "target": "app_crud_crm_contract_py_session", @@ -126054,7 +126514,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2117", + "source_location": "L2229", "weight": 1.0, "source": "app_crud_crm_contract_sign_contract", "target": "app_crud_crm_contract_py_session", @@ -126065,7 +126525,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2347", + "source_location": "L2459", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_changes", "target": "app_crud_crm_contract_py_session", @@ -126076,7 +126536,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2544", + "source_location": "L2656", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_templates", "target": "app_crud_crm_contract_py_session", @@ -126087,7 +126547,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1162", + "source_location": "L1272", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contracts", "target": "app_crud_crm_contract_py_session", @@ -126098,7 +126558,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1305", + "source_location": "L1415", "weight": 1.0, "source": "app_crud_crm_contract_start_execute", "target": "app_crud_crm_contract_py_session", @@ -126109,7 +126569,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1574", + "source_location": "L1684", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_status", "target": "app_crud_crm_contract_py_session", @@ -126120,7 +126580,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1608", + "source_location": "L1718", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_type", "target": "app_crud_crm_contract_py_session", @@ -126131,7 +126591,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1511", + "source_location": "L1621", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_contract_py_session", @@ -126142,7 +126602,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1652", + "source_location": "L1764", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_py_session", @@ -126153,7 +126613,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2373", + "source_location": "L2485", "weight": 1.0, "source": "app_crud_crm_contract_submit_change_approval", "target": "app_crud_crm_contract_py_session", @@ -126164,7 +126624,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1205", + "source_location": "L1315", "weight": 1.0, "source": "app_crud_crm_contract_submit_contract_approval", "target": "app_crud_crm_contract_py_session", @@ -126175,7 +126635,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2578", + "source_location": "L2690", "weight": 1.0, "source": "app_crud_crm_contract_toggle_contract_template_active", "target": "app_crud_crm_contract_py_session", @@ -126186,7 +126646,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1057", + "source_location": "L1166", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_py_session", @@ -126197,7 +126657,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2309", + "source_location": "L2421", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_py_session", @@ -126208,7 +126668,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2487", + "source_location": "L2599", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_contract_py_session", @@ -126219,7 +126679,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1439", + "source_location": "L1549", "weight": 1.0, "source": "app_crud_crm_contract_upload_attachments", "target": "app_crud_crm_contract_py_session", @@ -126230,7 +126690,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1464", + "source_location": "L1574", "weight": 1.0, "source": "app_crud_crm_contract_upload_attachments_with_category", "target": "app_crud_crm_contract_py_session", @@ -126241,7 +126701,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1422", + "source_location": "L1532", "weight": 1.0, "source": "app_crud_crm_contract_upload_file", "target": "app_crud_crm_contract_py_session", @@ -126252,7 +126712,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1186", + "source_location": "L1296", "weight": 1.0, "source": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "app_crud_crm_contract_py_session", @@ -126263,7 +126723,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2396", + "source_location": "L2508", "weight": 1.0, "source": "app_crud_crm_contract_withdraw_change", "target": "app_crud_crm_contract_py_session", @@ -126274,7 +126734,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1278", + "source_location": "L1388", "weight": 1.0, "source": "app_crud_crm_contract_withdraw_contract_approval", "target": "app_crud_crm_contract_py_session", @@ -126285,7 +126745,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2168", + "source_location": "L2280", "weight": 1.0, "source": "app_crud_crm_contract_batch_assign_owner", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126296,7 +126756,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1337", + "source_location": "L1447", "weight": 1.0, "source": "app_crud_crm_contract_finish_contract", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126329,7 +126789,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1416", + "source_location": "L1526", "weight": 1.0, "source": "app_crud_crm_contract_get_template", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126340,7 +126800,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1363", + "source_location": "L1473", "weight": 1.0, "source": "app_crud_crm_contract_invalid_contract", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126373,7 +126833,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1388", + "source_location": "L1498", "weight": 1.0, "source": "app_crud_crm_contract_save_template", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126384,7 +126844,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2129", + "source_location": "L2241", "weight": 1.0, "source": "app_crud_crm_contract_sign_contract", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126395,7 +126855,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1173", + "source_location": "L1283", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contracts", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126406,7 +126866,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1314", + "source_location": "L1424", "weight": 1.0, "source": "app_crud_crm_contract_start_execute", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126417,7 +126877,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1217", + "source_location": "L1327", "weight": 1.0, "source": "app_crud_crm_contract_submit_contract_approval", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126428,7 +126888,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1068", + "source_location": "L1177", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126439,7 +126899,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1449", + "source_location": "L1559", "weight": 1.0, "source": "app_crud_crm_contract_upload_attachments", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126450,7 +126910,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1474", + "source_location": "L1584", "weight": 1.0, "source": "app_crud_crm_contract_upload_attachments_with_category", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126461,7 +126921,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1430", + "source_location": "L1540", "weight": 1.0, "source": "app_crud_crm_contract_upload_file", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126472,7 +126932,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1288", + "source_location": "L1398", "weight": 1.0, "source": "app_crud_crm_contract_withdraw_contract_approval", "target": "app_crud_crm_contract_get_contract_row_in_scope", @@ -126483,7 +126943,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L842", + "source_location": "L947", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_decimal_value", @@ -126505,7 +126965,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1017", + "source_location": "L1116", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_decimal_value", @@ -126516,7 +126976,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2290", + "source_location": "L2402", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_decimal_value", @@ -126527,7 +126987,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2468", + "source_location": "L2580", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_decimal_value", @@ -126560,7 +127020,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1580", + "source_location": "L1690", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_status", "target": "app_crud_crm_contract_decimal_value", @@ -126571,7 +127031,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1629", + "source_location": "L1741", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_type", "target": "app_crud_crm_contract_decimal_value", @@ -126582,7 +127042,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1540", + "source_location": "L1650", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_contract_decimal_value", @@ -126593,7 +127053,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1679", + "source_location": "L1791", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_decimal_value", @@ -126604,7 +127064,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2340", + "source_location": "L2452", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_decimal_value", @@ -126615,7 +127075,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2531", + "source_location": "L2643", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_contract_decimal_value", @@ -126626,7 +127086,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L741", + "source_location": "L846", "weight": 1.0, "source": "app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "app_crud_crm_contract_decimal_value", @@ -126637,7 +127097,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L753", + "source_location": "L858", "weight": 1.0, "source": "app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "app_crud_crm_contract_decimal_value", @@ -126659,7 +127119,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1886", + "source_location": "L1998", "weight": 1.0, "source": "app_crud_crm_contract_change_row_to_dict", "target": "app_crud_crm_contract_py_any", @@ -126681,7 +127141,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L958", + "source_location": "L1063", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_py_any", @@ -126692,7 +127152,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2258", + "source_location": "L2370", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_py_any", @@ -126703,7 +127163,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2437", + "source_location": "L2549", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_py_any", @@ -126714,7 +127174,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2243", + "source_location": "L2355", "weight": 1.0, "source": "app_crud_crm_contract_enrich_change_rows", "target": "app_crud_crm_contract_py_any", @@ -126725,7 +127185,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2421", + "source_location": "L2533", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_changes", "target": "app_crud_crm_contract_py_any", @@ -126736,7 +127196,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2604", + "source_location": "L2716", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_templates", "target": "app_crud_crm_contract_py_any", @@ -126747,7 +127207,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1869", + "source_location": "L1981", "weight": 1.0, "source": "app_crud_crm_contract_export_contracts", "target": "app_crud_crm_contract_py_any", @@ -126780,7 +127240,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1937", + "source_location": "L2049", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_change_detail", "target": "app_crud_crm_contract_py_any", @@ -126802,7 +127262,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2019", + "source_location": "L2131", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_template_detail", "target": "app_crud_crm_contract_py_any", @@ -126824,7 +127284,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1908", + "source_location": "L2020", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_changes", "target": "app_crud_crm_contract_py_any", @@ -126835,7 +127295,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1986", + "source_location": "L2098", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_templates", "target": "app_crud_crm_contract_py_any", @@ -126879,7 +127339,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1698", + "source_location": "L1810", "weight": 1.0, "source": "app_crud_crm_contract_query_expiring", "target": "app_crud_crm_contract_py_any", @@ -126901,7 +127361,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1574", + "source_location": "L1684", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_status", "target": "app_crud_crm_contract_py_any", @@ -126912,7 +127372,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1608", + "source_location": "L1718", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_type", "target": "app_crud_crm_contract_py_any", @@ -126923,7 +127383,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1511", + "source_location": "L1621", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_contract_py_any", @@ -126934,7 +127394,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1652", + "source_location": "L1764", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_py_any", @@ -126945,7 +127405,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1961", + "source_location": "L2073", "weight": 1.0, "source": "app_crud_crm_contract_template_row_to_dict", "target": "app_crud_crm_contract_py_any", @@ -126956,7 +127416,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1057", + "source_location": "L1166", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_py_any", @@ -126967,7 +127427,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2309", + "source_location": "L2421", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_py_any", @@ -126978,7 +127438,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2487", + "source_location": "L2599", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_contract_py_any", @@ -126989,7 +127449,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L949", + "source_location": "L1054", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_py_decimal", @@ -127000,7 +127460,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L776", + "source_location": "L881", "weight": 1.0, "source": "app_crud_crm_contract_calc_amount_with_tax", "target": "app_crud_crm_contract_py_decimal", @@ -127011,7 +127471,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1018", + "source_location": "L1117", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_py_decimal", @@ -127022,7 +127482,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2468", + "source_location": "L2580", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_py_decimal", @@ -127033,7 +127493,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2139", + "source_location": "L2251", "weight": 1.0, "source": "app_crud_crm_contract_sign_contract", "target": "app_crud_crm_contract_py_decimal", @@ -127044,7 +127504,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1547", + "source_location": "L1657", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_contract_py_decimal", @@ -127055,7 +127515,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1682", + "source_location": "L1794", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_py_decimal", @@ -127066,7 +127526,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L743", + "source_location": "L848", "weight": 1.0, "source": "app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "app_crud_crm_contract_py_decimal", @@ -127077,7 +127537,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L754", + "source_location": "L859", "weight": 1.0, "source": "app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "app_crud_crm_contract_py_decimal", @@ -127088,7 +127548,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L858", + "source_location": "L963", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_parse_optional_date", @@ -127110,7 +127570,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L992", + "source_location": "L1096", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_parse_optional_date", @@ -127132,7 +127592,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2135", + "source_location": "L2247", "weight": 1.0, "source": "app_crud_crm_contract_sign_contract", "target": "app_crud_crm_contract_parse_optional_date", @@ -127143,7 +127603,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L660", + "source_location": "L702", "weight": 1.0, "source": "app_crud_crm_contract_align_contract_no_to_sign_date", "target": "app_crud_crm_contract_py_date", @@ -127154,7 +127614,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L579", + "source_location": "L623", "weight": 1.0, "source": "app_crud_crm_contract_generate_contract_no", "target": "app_crud_crm_contract_py_date", @@ -127165,7 +127625,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L648", + "source_location": "L690", "weight": 1.0, "source": "app_crud_crm_contract_replace_contract_no_date", "target": "app_crud_crm_contract_py_date", @@ -127198,7 +127658,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1523", + "source_location": "L1633", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_contract_parse_optional_datetime", @@ -127209,7 +127669,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1662", + "source_location": "L1774", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_parse_optional_datetime", @@ -127220,7 +127680,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1643", + "source_location": "L1755", "weight": 1.0, "source": "app_crud_crm_contract_contract_period_key", "target": "app_crud_crm_contract_py_datetime", @@ -127231,7 +127691,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L837", + "source_location": "L942", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_get_field", @@ -127253,7 +127713,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L967", + "source_location": "L1072", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_get_field", @@ -127264,7 +127724,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2266", + "source_location": "L2378", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_get_field", @@ -127275,7 +127735,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2445", + "source_location": "L2557", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_get_field", @@ -127286,7 +127746,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2095", + "source_location": "L2207", "weight": 1.0, "source": "app_crud_crm_contract_create_from_opportunity", "target": "app_crud_crm_contract_get_field", @@ -127297,7 +127757,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1783", + "source_location": "L1895", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_contract_get_field", @@ -127308,7 +127768,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L723", + "source_location": "L828", "weight": 1.0, "source": "app_crud_crm_contract_normalize_framework_contract_data", "target": "app_crud_crm_contract_get_field", @@ -127319,7 +127779,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1861", + "source_location": "L1973", "weight": 1.0, "source": "app_crud_crm_contract_renew_contract", "target": "app_crud_crm_contract_get_field", @@ -127330,7 +127790,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1074", + "source_location": "L1183", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_get_field", @@ -127341,7 +127801,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2336", + "source_location": "L2448", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_get_field", @@ -127352,7 +127812,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2527", + "source_location": "L2639", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_contract_get_field", @@ -127363,7 +127823,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L715", + "source_location": "L820", "weight": 1.0, "source": "app_crud_crm_contract_validate_contract_type_and_products", "target": "app_crud_crm_contract_get_field", @@ -127374,7 +127834,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L736", + "source_location": "L841", "weight": 1.0, "source": "app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "app_crud_crm_contract_get_field", @@ -127385,7 +127845,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L750", + "source_location": "L855", "weight": 1.0, "source": "app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "app_crud_crm_contract_get_field", @@ -127396,7 +127856,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L892", + "source_location": "L997", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_resolve_user_display_name", @@ -127407,7 +127867,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2166", + "source_location": "L2278", "weight": 1.0, "source": "app_crud_crm_contract_batch_assign_owner", "target": "app_crud_crm_contract_resolve_user_display_name", @@ -127440,7 +127900,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L901", + "source_location": "L1006", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_is_blank", @@ -127462,7 +127922,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L902", + "source_location": "L1007", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_first_non_blank", @@ -127495,12 +127955,23 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L917", + "source_location": "L1022", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_get_default_invoice_info", "confidence_score": 1.0 }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L606", + "weight": 1.0, + "source": "app_crud_crm_contract_build_contract_name_from_parties", + "target": "app_crud_crm_contract_get_default_invoice_info", + "confidence_score": 1.0 + }, { "relation": "calls", "context": "call", @@ -127528,7 +127999,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L926", + "source_location": "L1031", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_build_customer_address", @@ -127561,7 +128032,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1880", + "source_location": "L1992", "weight": 1.0, "source": "app_crud_crm_contract_export_contracts", "target": "app_crud_crm_contract_row_to_dict", @@ -127594,7 +128065,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1722", + "source_location": "L1834", "weight": 1.0, "source": "app_crud_crm_contract_query_expiring", "target": "app_crud_crm_contract_row_to_dict", @@ -127648,7 +128119,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1878", + "source_location": "L1990", "weight": 1.0, "source": "app_crud_crm_contract_export_contracts", "target": "app_crud_crm_contract_build_contract_filters", @@ -127757,7 +128228,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1054", + "source_location": "L1163", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_get_contract_detail", @@ -127768,7 +128239,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2190", + "source_location": "L2302", "weight": 1.0, "source": "app_crud_crm_contract_download_contract_pdf", "target": "app_crud_crm_contract_get_contract_detail", @@ -127779,7 +128250,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1159", + "source_location": "L1269", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_get_contract_detail", @@ -127790,7 +128261,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2269", + "source_location": "L2381", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_get_contract_row", @@ -127812,7 +128283,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1826", + "source_location": "L1938", "weight": 1.0, "source": "app_crud_crm_contract_renew_contract", "target": "app_crud_crm_contract_get_contract_row", @@ -127823,7 +128294,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1194", + "source_location": "L1304", "weight": 1.0, "source": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "app_crud_crm_contract_get_contract_row", @@ -127834,9 +128305,9 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L982", + "source_location": "L595", "weight": 1.0, - "source": "app_crud_crm_contract_create_contract", + "source": "app_crud_crm_contract_build_contract_name_from_parties", "target": "app_crud_crm_contract_get_supplier_short_name", "confidence_score": 1.0 }, @@ -127856,10 +128327,10 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1129", + "source_location": "L610", "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_contract_get_supplier_short_name", + "source": "app_crud_crm_contract_build_contract_name_from_parties", + "target": "app_crud_crm_contract_generate_contract_name", "confidence_score": 1.0 }, { @@ -127867,7 +128338,61 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L996", + "source_location": "L602", + "weight": 1.0, + "source": "app_crud_crm_contract_build_contract_name_from_parties", + "target": "app_crud_crm_customer_get_customer", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L593", + "weight": 1.0, + "source": "app_crud_crm_contract_build_contract_name_from_parties", + "target": "app_crud_crm_supplier_info_get_supplier_info", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1134", + "weight": 1.0, + "source": "app_crud_crm_contract_create_contract", + "target": "app_crud_crm_contract_build_contract_name_from_parties", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L592", + "weight": 1.0, + "source": "app_crud_crm_contract_rationale_592", + "target": "app_crud_crm_contract_build_contract_name_from_parties", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1239", + "weight": 1.0, + "source": "app_crud_crm_contract_update_contract", + "target": "app_crud_crm_contract_build_contract_name_from_parties", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1100", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_generate_contract_no", @@ -127878,7 +128403,18 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L589", + "source_location": "L664", + "weight": 1.0, + "source": "app_crud_crm_contract_generate_contract_no", + "target": "app_crud_crm_contract_contract_no_exists", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L636", "weight": 1.0, "source": "app_crud_crm_contract_generate_contract_no", "target": "app_crud_crm_supplier_info_get_supplier_info", @@ -127888,9 +128424,42 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L586", + "source_location": "L630", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_586", + "source": "app_crud_crm_contract_rationale_630", + "target": "app_crud_crm_contract_generate_contract_no", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L4", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align", + "target": "app_crud_crm_contract_generate_contract_no", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L90", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", + "target": "app_crud_crm_contract_generate_contract_no", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L99", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "target": "app_crud_crm_contract_generate_contract_no", "confidence_score": 1.0 }, @@ -127899,7 +128468,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L688", + "source_location": "L730", "weight": 1.0, "source": "app_crud_crm_contract_align_contract_no_to_sign_date", "target": "app_crud_crm_contract_contract_no_exists", @@ -127910,7 +128479,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L999", + "source_location": "L1103", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_contract_no_exists", @@ -127920,9 +128489,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L635", + "source_location": "L677", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_635", + "source": "app_crud_crm_contract_rationale_677", "target": "app_crud_crm_contract_contract_no_exists", "confidence_score": 1.0 }, @@ -127931,7 +128500,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1121", + "source_location": "L1230", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_contract_no_exists", @@ -127942,7 +128511,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L677", + "source_location": "L719", "weight": 1.0, "source": "app_crud_crm_contract_align_contract_no_to_sign_date", "target": "app_crud_crm_contract_replace_contract_no_date", @@ -127952,9 +128521,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L649", + "source_location": "L691", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_649", + "source": "app_crud_crm_contract_rationale_691", "target": "app_crud_crm_contract_replace_contract_no_date", "confidence_score": 1.0 }, @@ -127974,7 +128543,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L9", + "source_location": "L13", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "target": "app_crud_crm_contract_replace_contract_no_date", @@ -127985,7 +128554,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L15", + "source_location": "L19", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "target": "app_crud_crm_contract_replace_contract_no_date", @@ -127996,7 +128565,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L19", + "source_location": "L23", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "target": "app_crud_crm_contract_replace_contract_no_date", @@ -128007,7 +128576,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L998", + "source_location": "L1102", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -128017,9 +128586,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L668", + "source_location": "L710", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_668", + "source": "app_crud_crm_contract_rationale_710", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", "confidence_score": 1.0 }, @@ -128028,7 +128597,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1113", + "source_location": "L1222", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -128050,7 +128619,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L41", + "source_location": "L45", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -128061,7 +128630,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L56", + "source_location": "L60", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -128072,7 +128641,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L27", + "source_location": "L31", "weight": 1.0, "source": "tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "target": "app_crud_crm_contract_align_contract_no_to_sign_date", @@ -128083,19 +128652,161 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1005", + "source_location": "L784", "weight": 1.0, - "source": "app_crud_crm_contract_create_contract", - "target": "app_crud_crm_contract_generate_contract_name", + "source": "app_crud_crm_contract_generate_contract_name", + "target": "app_crud_crm_contract_resolve_party_short_name", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L700", + "source_location": "L744", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_700", + "source": "app_crud_crm_contract_rationale_744", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L3", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L62", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L48", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L21", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L34", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L8", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", + "target": "app_crud_crm_contract_resolve_party_short_name", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L782", + "weight": 1.0, + "source": "app_crud_crm_contract_rationale_782", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L3", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L89", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L75", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L132", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L103", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", + "target": "app_crud_crm_contract_generate_contract_name", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L118", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "target": "app_crud_crm_contract_generate_contract_name", "confidence_score": 1.0 }, @@ -128104,10 +128815,10 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1133", + "source_location": "L828", "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_contract_generate_contract_name", + "source": "app_crud_crm_contract_normalize_framework_contract_data", + "target": "app_crud_crm_contract_is_framework_contract_type", "confidence_score": 1.0 }, { @@ -128115,12 +128826,89 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L972", + "source_location": "L821", + "weight": 1.0, + "source": "app_crud_crm_contract_validate_contract_type_and_products", + "target": "app_crud_crm_contract_is_framework_contract_type", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1307", + "weight": 1.0, + "source": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", + "target": "app_crud_crm_contract_is_framework_contract_type", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1077", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_validate_contract_type_and_products", "confidence_score": 1.0 }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1189", + "weight": 1.0, + "source": "app_crud_crm_contract_update_contract", + "target": "app_crud_crm_contract_validate_contract_type_and_products", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1078", + "weight": 1.0, + "source": "app_crud_crm_contract_create_contract", + "target": "app_crud_crm_contract_normalize_framework_contract_data", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1190", + "weight": 1.0, + "source": "app_crud_crm_contract_update_contract", + "target": "app_crud_crm_contract_normalize_framework_contract_data", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1079", + "weight": 1.0, + "source": "app_crud_crm_contract_create_contract", + "target": "app_crud_crm_contract_validate_product_prices_by_contract_type", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/contract.py", + "source_location": "L1191", + "weight": 1.0, + "source": "app_crud_crm_contract_update_contract", + "target": "app_crud_crm_contract_validate_product_prices_by_contract_type", + "confidence_score": 1.0 + }, { "relation": "calls", "context": "call", @@ -128128,61 +128916,6 @@ "source_file": "app/crud/crm/contract.py", "source_location": "L1080", "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_contract_validate_contract_type_and_products", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L973", - "weight": 1.0, - "source": "app_crud_crm_contract_create_contract", - "target": "app_crud_crm_contract_normalize_framework_contract_data", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L1081", - "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_contract_normalize_framework_contract_data", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L974", - "weight": 1.0, - "source": "app_crud_crm_contract_create_contract", - "target": "app_crud_crm_contract_validate_product_prices_by_contract_type", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L1082", - "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_contract_validate_product_prices_by_contract_type", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L975", - "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_validate_sale_purchase_contract_amount", "confidence_score": 1.0 @@ -128192,7 +128925,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1083", + "source_location": "L1192", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_validate_sale_purchase_contract_amount", @@ -128203,7 +128936,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1037", + "source_location": "L1146", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_resolve_contract_product_ids", @@ -128214,7 +128947,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L766", + "source_location": "L871", "weight": 1.0, "source": "app_crud_crm_contract_resolve_contract_product_ids", "target": "app_crud_crm_product_resolve_product_id_for_quote_item", @@ -128225,7 +128958,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1106", + "source_location": "L1215", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_resolve_contract_product_ids", @@ -128236,7 +128969,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L848", + "source_location": "L953", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_contract_calc_amount_with_tax", @@ -128247,7 +128980,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L877", + "source_location": "L982", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_customer_get_customer", @@ -128258,7 +128991,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L897", + "source_location": "L1002", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_crud_crm_supplier_info_get_supplier_info", @@ -128269,7 +129002,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L782", + "source_location": "L887", "weight": 1.0, "source": "app_crud_crm_contract_apply_contract_entity_fields", "target": "app_models_crm_models_crmcontract", @@ -128280,7 +129013,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1031", + "source_location": "L1130", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_apply_contract_entity_fields", @@ -128291,7 +129024,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1089", + "source_location": "L1198", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_apply_contract_entity_fields", @@ -128302,7 +129035,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1042", + "source_location": "L1151", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_crud_crm_contract_product_batch_insert_contract_products", @@ -128313,18 +129046,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1002", - "weight": 1.0, - "source": "app_crud_crm_contract_create_contract", - "target": "app_crud_crm_customer_get_customer", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L1010", + "source_location": "L1109", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_models_crm_models_crmcontract", @@ -128335,7 +129057,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L984", + "source_location": "L1088", "weight": 1.0, "source": "app_crud_crm_contract_create_contract", "target": "app_services_crm_supplier_hazard_assert_products_allowed_for_supplier", @@ -128346,7 +129068,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2102", + "source_location": "L2214", "weight": 1.0, "source": "app_crud_crm_contract_create_from_opportunity", "target": "app_crud_crm_contract_create_contract", @@ -128357,7 +129079,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1792", + "source_location": "L1904", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_contract_create_contract", @@ -128368,7 +129090,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1865", + "source_location": "L1977", "weight": 1.0, "source": "app_crud_crm_contract_renew_contract", "target": "app_crud_crm_contract_create_contract", @@ -128379,7 +129101,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1148", + "source_location": "L1258", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_product_batch_insert_contract_products", @@ -128390,7 +129112,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1146", + "source_location": "L1256", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_product_delete_products_by_contract_id", @@ -128401,7 +129123,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1096", + "source_location": "L1205", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_crud_crm_contract_product_list_contract_products", @@ -128412,18 +129134,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1130", - "weight": 1.0, - "source": "app_crud_crm_contract_update_contract", - "target": "app_crud_crm_customer_get_customer", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "app/crud/crm/contract.py", - "source_location": "L1098", + "source_location": "L1207", "weight": 1.0, "source": "app_crud_crm_contract_update_contract", "target": "app_services_crm_supplier_hazard_assert_products_allowed_for_supplier", @@ -128433,9 +129144,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1170", + "source_location": "L1280", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1170", + "source": "app_crud_crm_contract_rationale_1280", "target": "app_crud_crm_contract_soft_delete_contracts", "confidence_score": 1.0 }, @@ -128443,9 +129154,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1193", + "source_location": "L1303", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1193", + "source": "app_crud_crm_contract_rationale_1303", "target": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "confidence_score": 1.0 }, @@ -128454,7 +129165,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1223", + "source_location": "L1333", "weight": 1.0, "source": "app_crud_crm_contract_submit_contract_approval", "target": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", @@ -128465,7 +129176,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1200", + "source_location": "L1310", "weight": 1.0, "source": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "app_crud_crm_contract_product_list_contract_products", @@ -128476,7 +129187,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1186", + "source_location": "L1296", "weight": 1.0, "source": "app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "app_models_crm_models_crmcontract", @@ -128487,7 +129198,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1263", + "source_location": "L1373", "weight": 1.0, "source": "app_crud_crm_contract_batch_submit_contract_approval", "target": "app_crud_crm_contract_submit_contract_approval", @@ -128498,7 +129209,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1235", + "source_location": "L1345", "weight": 1.0, "source": "app_crud_crm_contract_submit_contract_approval", "target": "app_crud_crm_contract_approval_create_approval_records", @@ -128508,9 +129219,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1259", + "source_location": "L1369", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1259", + "source": "app_crud_crm_contract_rationale_1369", "target": "app_crud_crm_contract_batch_submit_contract_approval", "confidence_score": 1.0 }, @@ -128518,9 +129229,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1287", + "source_location": "L1397", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1287", + "source": "app_crud_crm_contract_rationale_1397", "target": "app_crud_crm_contract_withdraw_contract_approval", "confidence_score": 1.0 }, @@ -128529,7 +129240,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1300", + "source_location": "L1410", "weight": 1.0, "source": "app_crud_crm_contract_withdraw_contract_approval", "target": "app_crud_crm_contract_approval_delete_pending_approvals", @@ -128540,7 +129251,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1532", + "source_location": "L1642", "weight": 1.0, "source": "app_crud_crm_contract_statistics_overview", "target": "app_crud_crm_data_scope_helpers_apply_crm_owner_scope", @@ -128551,7 +129262,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1577", + "source_location": "L1687", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_status", "target": "app_crud_crm_data_scope_helpers_apply_crm_owner_scope", @@ -128562,7 +129273,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1611", + "source_location": "L1721", "weight": 1.0, "source": "app_crud_crm_contract_statistics_by_type", "target": "app_crud_crm_data_scope_helpers_apply_crm_owner_scope", @@ -128573,7 +129284,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1675", + "source_location": "L1787", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_contract_contract_period_key", @@ -128584,7 +129295,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1667", + "source_location": "L1779", "weight": 1.0, "source": "app_crud_crm_contract_statistics_trend", "target": "app_crud_crm_data_scope_helpers_apply_crm_owner_scope", @@ -128595,7 +129306,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1786", + "source_location": "L1898", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_contract_quote_products_to_contract_products", @@ -128606,7 +129317,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1767", + "source_location": "L1879", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_quote_get_quote", @@ -128617,7 +129328,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1785", + "source_location": "L1897", "weight": 1.0, "source": "app_crud_crm_contract_create_from_quote", "target": "app_crud_crm_quote_product_list_quote_products", @@ -128627,9 +129338,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1766", + "source_location": "L1878", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1766", + "source": "app_crud_crm_contract_rationale_1878", "target": "app_crud_crm_contract_create_from_quote", "confidence_score": 1.0 }, @@ -128659,9 +129370,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1825", + "source_location": "L1937", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1825", + "source": "app_crud_crm_contract_rationale_1937", "target": "app_crud_crm_contract_renew_contract", "confidence_score": 1.0 }, @@ -128670,7 +129381,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1863", + "source_location": "L1975", "weight": 1.0, "source": "app_crud_crm_contract_renew_contract", "target": "app_crud_crm_contract_product_list_contract_products", @@ -128680,9 +129391,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1876", + "source_location": "L1988", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_1876", + "source": "app_crud_crm_contract_rationale_1988", "target": "app_crud_crm_contract_export_contracts", "confidence_score": 1.0 }, @@ -128691,7 +129402,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1886", + "source_location": "L1998", "weight": 1.0, "source": "app_crud_crm_contract_change_row_to_dict", "target": "app_models_crm_models_crmcontractchange", @@ -128702,7 +129413,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1958", + "source_location": "L2070", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_change_detail", "target": "app_crud_crm_contract_change_row_to_dict", @@ -128713,7 +129424,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1934", + "source_location": "L2046", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_changes", "target": "app_crud_crm_contract_change_row_to_dict", @@ -128724,7 +129435,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2427", + "source_location": "L2539", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_changes", "target": "app_crud_crm_contract_list_contract_changes", @@ -128735,7 +129446,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1922", + "source_location": "L2034", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_changes", "target": "app_crud_crm_data_scope_helpers_apply_crm_create_by_scope", @@ -128746,7 +129457,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2306", + "source_location": "L2418", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_crud_crm_contract_get_contract_change_detail", @@ -128757,7 +129468,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1955", + "source_location": "L2067", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_change_detail", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", @@ -128768,7 +129479,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2344", + "source_location": "L2456", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_get_contract_change_detail", @@ -128779,7 +129490,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2036", + "source_location": "L2148", "weight": 1.0, "source": "app_crud_crm_contract_get_contract_template_detail", "target": "app_crud_crm_contract_template_row_to_dict", @@ -128790,7 +129501,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2016", + "source_location": "L2128", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_templates", "target": "app_crud_crm_contract_template_row_to_dict", @@ -128801,7 +129512,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L1961", + "source_location": "L2073", "weight": 1.0, "source": "app_crud_crm_contract_template_row_to_dict", "target": "app_models_crm_models_crmcontracttemplate", @@ -128812,7 +129523,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2610", + "source_location": "L2722", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_templates", "target": "app_crud_crm_contract_list_contract_templates", @@ -128823,7 +129534,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2000", + "source_location": "L2112", "weight": 1.0, "source": "app_crud_crm_contract_list_contract_templates", "target": "app_crud_crm_data_scope_helpers_apply_crm_create_by_scope", @@ -128834,7 +129545,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2484", + "source_location": "L2596", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_get_contract_template_detail", @@ -128845,7 +129556,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2541", + "source_location": "L2653", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_contract_get_contract_template_detail", @@ -128856,7 +129567,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2100", + "source_location": "L2212", "weight": 1.0, "source": "app_crud_crm_contract_create_from_opportunity", "target": "app_crud_crm_contract_opportunity_products_to_contract_products", @@ -128867,7 +129578,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2099", + "source_location": "L2211", "weight": 1.0, "source": "app_crud_crm_contract_create_from_opportunity", "target": "app_crud_crm_opportunity_product_list_products_by_opportunity", @@ -128877,9 +129588,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2074", + "source_location": "L2186", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_2074", + "source": "app_crud_crm_contract_rationale_2186", "target": "app_crud_crm_contract_create_from_opportunity", "confidence_score": 1.0 }, @@ -128887,9 +129598,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2158", + "source_location": "L2270", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_2158", + "source": "app_crud_crm_contract_rationale_2270", "target": "app_crud_crm_contract_batch_assign_owner", "confidence_score": 1.0 }, @@ -128897,9 +129608,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2189", + "source_location": "L2301", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_2189", + "source": "app_crud_crm_contract_rationale_2301", "target": "app_crud_crm_contract_download_contract_pdf", "confidence_score": 1.0 }, @@ -128908,7 +129619,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2451", + "source_location": "L2563", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_crud_crm_contract_generate_template_no", @@ -128918,9 +129629,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2200", + "source_location": "L2312", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_2200", + "source": "app_crud_crm_contract_rationale_2312", "target": "app_crud_crm_contract_generate_template_no", "confidence_score": 1.0 }, @@ -128929,7 +129640,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2410", + "source_location": "L2522", "weight": 1.0, "source": "app_crud_crm_contract_execute_change", "target": "app_crud_crm_contract_get_change_row", @@ -128940,7 +129651,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2231", + "source_location": "L2343", "weight": 1.0, "source": "app_crud_crm_contract_get_change_row", "target": "app_models_crm_models_crmcontractchange", @@ -128951,7 +129662,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2357", + "source_location": "L2469", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_changes", "target": "app_crud_crm_contract_get_change_row", @@ -128962,7 +129673,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2383", + "source_location": "L2495", "weight": 1.0, "source": "app_crud_crm_contract_submit_change_approval", "target": "app_crud_crm_contract_get_change_row", @@ -128973,7 +129684,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2318", + "source_location": "L2430", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_contract_get_change_row", @@ -128984,7 +129695,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2397", + "source_location": "L2509", "weight": 1.0, "source": "app_crud_crm_contract_withdraw_change", "target": "app_crud_crm_contract_get_change_row", @@ -128995,7 +129706,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2434", + "source_location": "L2546", "weight": 1.0, "source": "app_crud_crm_contract_export_contract_changes", "target": "app_crud_crm_contract_enrich_change_rows", @@ -129006,7 +129717,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2281", + "source_location": "L2393", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_change", "target": "app_models_crm_models_crmcontractchange", @@ -129017,7 +129728,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2321", + "source_location": "L2433", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_change", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", @@ -129028,7 +129739,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2360", + "source_location": "L2472", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_changes", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", @@ -129038,9 +129749,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2382", + "source_location": "L2494", "weight": 1.0, - "source": "app_crud_crm_contract_rationale_2382", + "source": "app_crud_crm_contract_rationale_2494", "target": "app_crud_crm_contract_submit_change_approval", "confidence_score": 1.0 }, @@ -129049,7 +129760,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2454", + "source_location": "L2566", "weight": 1.0, "source": "app_crud_crm_contract_create_contract_template", "target": "app_models_crm_models_crmcontracttemplate", @@ -129060,7 +129771,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2507", + "source_location": "L2619", "weight": 1.0, "source": "app_crud_crm_contract_update_contract_template", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", @@ -129071,7 +129782,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", - "source_location": "L2565", + "source_location": "L2677", "weight": 1.0, "source": "app_crud_crm_contract_soft_delete_contract_templates", "target": "app_crud_crm_data_scope_helpers_ensure_crm_create_by_row_in_scope", @@ -130192,7 +130903,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L306", + "source_location": "L310", "weight": 1.0, "source": "app_crud_crm_contract_product", "target": "app_crud_crm_contract_product_delete_price_tiers_by_contract_id", @@ -130202,7 +130913,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L323", + "source_location": "L327", "weight": 1.0, "source": "app_crud_crm_contract_product", "target": "app_crud_crm_contract_product_delete_products_by_contract_id", @@ -130283,7 +130994,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L339", + "source_location": "L343", "weight": 1.0, "source": "app_crud_crm_contract_product", "target": "app_crud_crm_contract_product_save_price_tiers_for_product", @@ -130556,7 +131267,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L306", + "source_location": "L310", "weight": 1.0, "source": "app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "target": "app_crud_crm_contract_product_py_session", @@ -130567,7 +131278,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L323", + "source_location": "L327", "weight": 1.0, "source": "app_crud_crm_contract_product_delete_products_by_contract_id", "target": "app_crud_crm_contract_product_py_session", @@ -130589,7 +131300,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L339", + "source_location": "L343", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_py_session", @@ -130622,7 +131333,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L366", + "source_location": "L370", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_decimal_value", @@ -130655,7 +131366,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L366", + "source_location": "L370", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_py_decimal", @@ -130666,7 +131377,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L291", + "source_location": "L295", "weight": 1.0, "source": "app_crud_crm_contract_product_batch_insert_contract_products", "target": "app_crud_crm_contract_product_get_field", @@ -130688,7 +131399,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L355", + "source_location": "L359", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_get_field", @@ -130721,7 +131432,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L355", + "source_location": "L359", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_parse_optional_date", @@ -130743,7 +131454,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L367", + "source_location": "L371", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_crud_crm_contract_product_letter_oss_ids_to_json", @@ -130798,7 +131509,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L293", + "source_location": "L297", "weight": 1.0, "source": "app_crud_crm_contract_product_batch_insert_contract_products", "target": "app_crud_crm_contract_product_save_price_tiers_for_product", @@ -130820,7 +131531,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L325", + "source_location": "L329", "weight": 1.0, "source": "app_crud_crm_contract_product_delete_products_by_contract_id", "target": "app_crud_crm_contract_product_delete_price_tiers_by_contract_id", @@ -130830,9 +131541,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L324", + "source_location": "L328", "weight": 1.0, - "source": "app_crud_crm_contract_product_rationale_324", + "source": "app_crud_crm_contract_product_rationale_328", "target": "app_crud_crm_contract_product_delete_products_by_contract_id", "confidence_score": 1.0 }, @@ -130840,9 +131551,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L349", + "source_location": "L353", "weight": 1.0, - "source": "app_crud_crm_contract_product_rationale_349", + "source": "app_crud_crm_contract_product_rationale_353", "target": "app_crud_crm_contract_product_save_price_tiers_for_product", "confidence_score": 1.0 }, @@ -130851,7 +131562,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", - "source_location": "L360", + "source_location": "L364", "weight": 1.0, "source": "app_crud_crm_contract_product_save_price_tiers_for_product", "target": "app_models_crm_models_crmcontractproductpricetier", @@ -130861,7 +131572,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L677", + "source_location": "L718", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_assign_customer", @@ -130871,7 +131582,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L664", + "source_location": "L705", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_batch_claim_customers", @@ -130881,7 +131592,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L365", + "source_location": "L406", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_check_duplicate_customer", @@ -130891,7 +131602,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L626", + "source_location": "L667", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_claim_customer", @@ -130901,7 +131612,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L386", + "source_location": "L427", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_create_customer", @@ -130911,7 +131622,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L352", + "source_location": "L393", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_customer_name_exists", @@ -130921,7 +131632,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L555", + "source_location": "L596", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_deal_customer", @@ -130951,7 +131662,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L326", + "source_location": "L367", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_generate_customer_no", @@ -130961,7 +131672,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L303", + "source_location": "L344", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_get_customer", @@ -130971,7 +131682,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L314", + "source_location": "L355", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_get_customer_by_no", @@ -130981,7 +131692,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L761", + "source_location": "L802", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_get_park_area_list", @@ -130991,7 +131702,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L583", + "source_location": "L624", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_into_pool", @@ -131004,6 +131715,16 @@ "source_location": "L161", "weight": 1.0, "source": "app_crud_crm_customer", + "target": "app_crud_crm_customer_list_customer_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/customer.py", + "source_location": "L202", + "weight": 1.0, + "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_list_customers", "confidence_score": 1.0 }, @@ -131011,7 +131732,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L276", + "source_location": "L317", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_list_pool_customers", @@ -131042,7 +131763,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L539", + "source_location": "L580", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_pool_create_pool_record", @@ -131083,7 +131804,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L496", + "source_location": "L537", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_soft_delete_customer", @@ -131103,7 +131824,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L513", + "source_location": "L554", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_transfer_customer", @@ -131113,7 +131834,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L745", + "source_location": "L786", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_update_contact_count", @@ -131123,7 +131844,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L449", + "source_location": "L490", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_update_customer", @@ -131133,7 +131854,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L728", + "source_location": "L769", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_crud_crm_customer_update_follow_stats", @@ -131199,7 +131920,7 @@ "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L746", + "source_location": "L787", "weight": 1.0, "source": "app_crud_crm_customer", "target": "app_models_crm_models_crmcontact", @@ -131286,7 +132007,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L693", + "source_location": "L734", "weight": 1.0, "source": "app_crud_crm_customer_assign_customer", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131297,7 +132018,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L569", + "source_location": "L610", "weight": 1.0, "source": "app_crud_crm_customer_deal_customer", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131374,7 +132095,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L596", + "source_location": "L637", "weight": 1.0, "source": "app_crud_crm_customer_into_pool", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131385,7 +132106,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L504", + "source_location": "L545", "weight": 1.0, "source": "app_crud_crm_customer_soft_delete_customer", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131396,7 +132117,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L527", + "source_location": "L568", "weight": 1.0, "source": "app_crud_crm_customer_transfer_customer", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131407,7 +132128,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L463", + "source_location": "L504", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_crud_crm_customer_ensure_customer_in_scope", @@ -131418,7 +132139,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L677", + "source_location": "L718", "weight": 1.0, "source": "app_crud_crm_customer_assign_customer", "target": "app_crud_crm_customer_py_session", @@ -131429,7 +132150,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L664", + "source_location": "L705", "weight": 1.0, "source": "app_crud_crm_customer_batch_claim_customers", "target": "app_crud_crm_customer_py_session", @@ -131440,7 +132161,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L365", + "source_location": "L406", "weight": 1.0, "source": "app_crud_crm_customer_check_duplicate_customer", "target": "app_crud_crm_customer_py_session", @@ -131451,7 +132172,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L626", + "source_location": "L667", "weight": 1.0, "source": "app_crud_crm_customer_claim_customer", "target": "app_crud_crm_customer_py_session", @@ -131462,7 +132183,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L386", + "source_location": "L427", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_crud_crm_customer_py_session", @@ -131473,7 +132194,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L352", + "source_location": "L393", "weight": 1.0, "source": "app_crud_crm_customer_customer_name_exists", "target": "app_crud_crm_customer_py_session", @@ -131484,7 +132205,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L555", + "source_location": "L596", "weight": 1.0, "source": "app_crud_crm_customer_deal_customer", "target": "app_crud_crm_customer_py_session", @@ -131506,7 +132227,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L326", + "source_location": "L367", "weight": 1.0, "source": "app_crud_crm_customer_generate_customer_no", "target": "app_crud_crm_customer_py_session", @@ -131517,7 +132238,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L303", + "source_location": "L344", "weight": 1.0, "source": "app_crud_crm_customer_get_customer", "target": "app_crud_crm_customer_py_session", @@ -131528,7 +132249,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L314", + "source_location": "L355", "weight": 1.0, "source": "app_crud_crm_customer_get_customer_by_no", "target": "app_crud_crm_customer_py_session", @@ -131539,7 +132260,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L761", + "source_location": "L802", "weight": 1.0, "source": "app_crud_crm_customer_get_park_area_list", "target": "app_crud_crm_customer_py_session", @@ -131550,7 +132271,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L583", + "source_location": "L624", "weight": 1.0, "source": "app_crud_crm_customer_into_pool", "target": "app_crud_crm_customer_py_session", @@ -131563,6 +132284,17 @@ "source_file": "app/crud/crm/customer.py", "source_location": "L161", "weight": 1.0, + "source": "app_crud_crm_customer_list_customer_options", + "target": "app_crud_crm_customer_py_session", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/customer.py", + "source_location": "L202", + "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "app_crud_crm_customer_py_session", "confidence_score": 1.0 @@ -131572,7 +132304,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L276", + "source_location": "L317", "weight": 1.0, "source": "app_crud_crm_customer_list_pool_customers", "target": "app_crud_crm_customer_py_session", @@ -131594,7 +132326,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L496", + "source_location": "L537", "weight": 1.0, "source": "app_crud_crm_customer_soft_delete_customer", "target": "app_crud_crm_customer_py_session", @@ -131605,7 +132337,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L513", + "source_location": "L554", "weight": 1.0, "source": "app_crud_crm_customer_transfer_customer", "target": "app_crud_crm_customer_py_session", @@ -131616,7 +132348,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L745", + "source_location": "L786", "weight": 1.0, "source": "app_crud_crm_customer_update_contact_count", "target": "app_crud_crm_customer_py_session", @@ -131627,7 +132359,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L449", + "source_location": "L490", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_crud_crm_customer_py_session", @@ -131638,7 +132370,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L728", + "source_location": "L769", "weight": 1.0, "source": "app_crud_crm_customer_update_follow_stats", "target": "app_crud_crm_customer_py_session", @@ -131684,6 +132416,17 @@ "source_file": "app/crud/crm/customer.py", "source_location": "L161", "weight": 1.0, + "source": "app_crud_crm_customer_list_customer_options", + "target": "app_crud_crm_customer_py_any", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/customer.py", + "source_location": "L202", + "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "app_crud_crm_customer_py_any", "confidence_score": 1.0 @@ -131693,7 +132436,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L276", + "source_location": "L317", "weight": 1.0, "source": "app_crud_crm_customer_list_pool_customers", "target": "app_crud_crm_customer_py_any", @@ -131726,7 +132469,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L435", + "source_location": "L476", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_crud_crm_customer_parse_optional_datetime", @@ -131737,7 +132480,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L574", + "source_location": "L615", "weight": 1.0, "source": "app_crud_crm_customer_deal_customer", "target": "app_crud_crm_customer_parse_optional_datetime", @@ -131759,7 +132502,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L480", + "source_location": "L521", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_crud_crm_customer_parse_optional_datetime", @@ -131770,7 +132513,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L728", + "source_location": "L769", "weight": 1.0, "source": "app_crud_crm_customer_update_follow_stats", "target": "app_crud_crm_customer_py_datetime", @@ -131781,7 +132524,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L400", + "source_location": "L441", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_crud_crm_customer_resolve_user_display_name", @@ -131814,7 +132557,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L487", + "source_location": "L528", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_crud_crm_customer_resolve_user_display_name", @@ -131825,7 +132568,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L272", + "source_location": "L313", "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "app_crud_crm_customer_enrich_user_names", @@ -131836,7 +132579,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L383", + "source_location": "L424", "weight": 1.0, "source": "app_crud_crm_customer_check_duplicate_customer", "target": "app_crud_crm_customer_row_to_dict", @@ -131847,7 +132590,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L271", + "source_location": "L312", "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "app_crud_crm_customer_row_to_dict", @@ -131864,12 +132607,22 @@ "target": "app_models_crm_models_crmcustomer", "confidence_score": 1.0 }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/crud/crm/customer.py", + "source_location": "L169", + "weight": 1.0, + "source": "app_crud_crm_customer_rationale_169", + "target": "app_crud_crm_customer_list_customer_options", + "confidence_score": 1.0 + }, { "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L255", + "source_location": "L296", "weight": 1.0, "source": "app_crud_crm_customer_list_customers", "target": "app_crud_crm_data_scope_helpers_apply_crm_owner_scope", @@ -131880,7 +132633,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L288", + "source_location": "L329", "weight": 1.0, "source": "app_crud_crm_customer_list_pool_customers", "target": "app_crud_crm_customer_list_customers", @@ -131891,7 +132644,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L688", + "source_location": "L729", "weight": 1.0, "source": "app_crud_crm_customer_assign_customer", "target": "app_crud_crm_customer_get_customer", @@ -131902,7 +132655,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L632", + "source_location": "L673", "weight": 1.0, "source": "app_crud_crm_customer_claim_customer", "target": "app_crud_crm_customer_get_customer", @@ -131913,7 +132666,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L564", + "source_location": "L605", "weight": 1.0, "source": "app_crud_crm_customer_deal_customer", "target": "app_crud_crm_customer_get_customer", @@ -131957,7 +132710,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L303", + "source_location": "L344", "weight": 1.0, "source": "app_crud_crm_customer_get_customer", "target": "app_models_crm_models_crmcustomer", @@ -131968,7 +132721,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L591", + "source_location": "L632", "weight": 1.0, "source": "app_crud_crm_customer_into_pool", "target": "app_crud_crm_customer_get_customer", @@ -131979,7 +132732,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L499", + "source_location": "L540", "weight": 1.0, "source": "app_crud_crm_customer_soft_delete_customer", "target": "app_crud_crm_customer_get_customer", @@ -131990,7 +132743,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L522", + "source_location": "L563", "weight": 1.0, "source": "app_crud_crm_customer_transfer_customer", "target": "app_crud_crm_customer_get_customer", @@ -132001,7 +132754,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L755", + "source_location": "L796", "weight": 1.0, "source": "app_crud_crm_customer_update_contact_count", "target": "app_crud_crm_customer_get_customer", @@ -132012,7 +132765,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L458", + "source_location": "L499", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_crud_crm_customer_get_customer", @@ -132023,7 +132776,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L734", + "source_location": "L775", "weight": 1.0, "source": "app_crud_crm_customer_update_follow_stats", "target": "app_crud_crm_customer_get_customer", @@ -132166,7 +132919,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L314", + "source_location": "L355", "weight": 1.0, "source": "app_crud_crm_customer_get_customer_by_no", "target": "app_models_crm_models_crmcustomer", @@ -132177,7 +132930,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L397", + "source_location": "L438", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_crud_crm_customer_generate_customer_no", @@ -132188,7 +132941,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L386", + "source_location": "L427", "weight": 1.0, "source": "app_crud_crm_customer_create_customer", "target": "app_models_crm_models_crmcustomer", @@ -132199,7 +132952,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L449", + "source_location": "L490", "weight": 1.0, "source": "app_crud_crm_customer_update_customer", "target": "app_models_crm_models_crmcustomer", @@ -132210,7 +132963,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L540", + "source_location": "L581", "weight": 1.0, "source": "app_crud_crm_customer_transfer_customer", "target": "app_crud_crm_customer_pool_create_pool_record", @@ -132221,7 +132974,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L513", + "source_location": "L554", "weight": 1.0, "source": "app_crud_crm_customer_transfer_customer", "target": "app_models_crm_models_crmcustomer", @@ -132232,7 +132985,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L555", + "source_location": "L596", "weight": 1.0, "source": "app_crud_crm_customer_deal_customer", "target": "app_models_crm_models_crmcustomer", @@ -132243,7 +132996,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L612", + "source_location": "L653", "weight": 1.0, "source": "app_crud_crm_customer_into_pool", "target": "app_crud_crm_customer_pool_create_pool_record", @@ -132254,7 +133007,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L583", + "source_location": "L624", "weight": 1.0, "source": "app_crud_crm_customer_into_pool", "target": "app_models_crm_models_crmcustomer", @@ -132265,7 +133018,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L672", + "source_location": "L713", "weight": 1.0, "source": "app_crud_crm_customer_batch_claim_customers", "target": "app_crud_crm_customer_claim_customer", @@ -132276,7 +133029,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L651", + "source_location": "L692", "weight": 1.0, "source": "app_crud_crm_customer_claim_customer", "target": "app_crud_crm_customer_pool_create_pool_record", @@ -132287,7 +133040,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L626", + "source_location": "L667", "weight": 1.0, "source": "app_crud_crm_customer_claim_customer", "target": "app_models_crm_models_crmcustomer", @@ -132298,7 +133051,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L664", + "source_location": "L705", "weight": 1.0, "source": "app_crud_crm_customer_batch_claim_customers", "target": "app_models_crm_models_crmcustomer", @@ -132309,7 +133062,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L710", + "source_location": "L751", "weight": 1.0, "source": "app_crud_crm_customer_assign_customer", "target": "app_crud_crm_customer_pool_create_pool_record", @@ -132320,7 +133073,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/customer.py", - "source_location": "L677", + "source_location": "L718", "weight": 1.0, "source": "app_crud_crm_customer_assign_customer", "target": "app_models_crm_models_crmcustomer", @@ -138147,7 +138900,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L999", + "source_location": "L1007", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_create_oss", @@ -138167,7 +138920,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1056", + "source_location": "L1064", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_generate_auto_product_no", @@ -138227,7 +138980,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1049", + "source_location": "L1057", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_get_quote_item_field", @@ -138257,7 +139010,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L983", + "source_location": "L991", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_list_oss_by_biz", @@ -138307,7 +139060,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1042", + "source_location": "L1050", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_normalize_text", @@ -138317,7 +139070,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L965", + "source_location": "L973", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_oss_row_to_dict", @@ -138377,7 +139130,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1061", + "source_location": "L1069", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_resolve_product_id_for_quote_item", @@ -138397,7 +139150,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1031", + "source_location": "L1039", "weight": 1.0, "source": "app_crud_crm_product", "target": "app_crud_crm_product_soft_delete_oss", @@ -138743,7 +139496,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L983", + "source_location": "L991", "weight": 1.0, "source": "app_crud_crm_product_list_oss_by_biz", "target": "app_crud_crm_product_py_any", @@ -138787,7 +139540,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1042", + "source_location": "L1050", "weight": 1.0, "source": "app_crud_crm_product_normalize_text", "target": "app_crud_crm_product_py_any", @@ -138798,7 +139551,7 @@ "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L965", + "source_location": "L973", "weight": 1.0, "source": "app_crud_crm_product_oss_row_to_dict", "target": "app_crud_crm_product_py_any", @@ -138929,7 +139682,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L999", + "source_location": "L1007", "weight": 1.0, "source": "app_crud_crm_product_create_oss", "target": "app_crud_crm_product_py_session", @@ -138951,7 +139704,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1056", + "source_location": "L1064", "weight": 1.0, "source": "app_crud_crm_product_generate_auto_product_no", "target": "app_crud_crm_product_py_session", @@ -139028,7 +139781,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L983", + "source_location": "L991", "weight": 1.0, "source": "app_crud_crm_product_list_oss_by_biz", "target": "app_crud_crm_product_py_session", @@ -139127,7 +139880,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1061", + "source_location": "L1069", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_py_session", @@ -139149,7 +139902,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1031", + "source_location": "L1039", "weight": 1.0, "source": "app_crud_crm_product_soft_delete_oss", "target": "app_crud_crm_product_py_session", @@ -139278,7 +140031,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1113", + "source_location": "L1121", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_get_category", @@ -139563,7 +140316,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1074", + "source_location": "L1082", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_get_product", @@ -139705,7 +140458,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1058", + "source_location": "L1066", "weight": 1.0, "source": "app_crud_crm_product_generate_auto_product_no", "target": "app_crud_crm_product_generate_product_no", @@ -139824,7 +140577,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L996", + "source_location": "L1004", "weight": 1.0, "source": "app_crud_crm_product_list_oss_by_biz", "target": "app_crud_crm_product_oss_row_to_dict", @@ -139835,7 +140588,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L965", + "source_location": "L973", "weight": 1.0, "source": "app_crud_crm_product_oss_row_to_dict", "target": "app_models_crm_models_sysoss", @@ -139846,7 +140599,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L999", + "source_location": "L1007", "weight": 1.0, "source": "app_crud_crm_product_create_oss", "target": "app_models_crm_models_sysoss", @@ -139857,7 +140610,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1078", + "source_location": "L1086", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_normalize_text", @@ -139868,7 +140621,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1072", + "source_location": "L1080", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_get_quote_item_field", @@ -139878,9 +140631,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1057", + "source_location": "L1065", "weight": 1.0, - "source": "app_crud_crm_product_rationale_1057", + "source": "app_crud_crm_product_rationale_1065", "target": "app_crud_crm_product_generate_auto_product_no", "confidence_score": 1.0 }, @@ -139889,7 +140642,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1110", + "source_location": "L1118", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_crud_crm_product_generate_auto_product_no", @@ -139899,9 +140652,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1068", + "source_location": "L1076", "weight": 1.0, - "source": "app_crud_crm_product_rationale_1068", + "source": "app_crud_crm_product_rationale_1076", "target": "app_crud_crm_product_resolve_product_id_for_quote_item", "confidence_score": 1.0 }, @@ -139910,7 +140663,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/product.py", - "source_location": "L1117", + "source_location": "L1125", "weight": 1.0, "source": "app_crud_crm_product_resolve_product_id_for_quote_item", "target": "app_models_crm_models_crmproduct", @@ -153174,7 +153927,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L257", + "source_location": "L272", "weight": 1.0, "source": "app_schemas_crm_customer_customerassignpoolbody", "target": "app_models_base_basemodel", @@ -153184,7 +153937,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L268", + "source_location": "L283", "weight": 1.0, "source": "app_schemas_crm_customer_customercheckduplicatebody", "target": "app_models_base_basemodel", @@ -153194,7 +153947,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L248", + "source_location": "L263", "weight": 1.0, "source": "app_schemas_crm_customer_customerclaimbody", "target": "app_models_base_basemodel", @@ -153204,7 +153957,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L72", + "source_location": "L87", "weight": 1.0, "source": "app_schemas_crm_customer_customercreatebody", "target": "app_models_base_basemodel", @@ -153214,7 +153967,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L236", + "source_location": "L251", "weight": 1.0, "source": "app_schemas_crm_customer_customerdealbody", "target": "app_models_base_basemodel", @@ -153224,7 +153977,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L199", + "source_location": "L214", "weight": 1.0, "source": "app_schemas_crm_customer_customerdeletebody", "target": "app_models_base_basemodel", @@ -153234,7 +153987,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L207", + "source_location": "L222", "weight": 1.0, "source": "app_schemas_crm_customer_customerdetailbody", "target": "app_models_base_basemodel", @@ -153244,7 +153997,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L226", + "source_location": "L241", "weight": 1.0, "source": "app_schemas_crm_customer_customerintopoolbody", "target": "app_models_base_basemodel", @@ -153254,7 +154007,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L12", + "source_location": "L27", "weight": 1.0, "source": "app_schemas_crm_customer_customerlistbody", "target": "app_models_base_basemodel", @@ -153264,7 +154017,17 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L214", + "source_location": "L12", + "weight": 1.0, + "source": "app_schemas_crm_customer_customeroptionsbody", + "target": "app_models_base_basemodel", + "confidence_score": 1.0 + }, + { + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "app/schemas/crm/customer.py", + "source_location": "L229", "weight": 1.0, "source": "app_schemas_crm_customer_customertransferbody", "target": "app_models_base_basemodel", @@ -153274,7 +154037,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L135", + "source_location": "L150", "weight": 1.0, "source": "app_schemas_crm_customer_customerupdatebody", "target": "app_models_base_basemodel", @@ -161571,7 +162334,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L203", + "source_location": "L204", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_resolve_vehicle", "target": "app_models_pl_models_plvehicle", @@ -167078,7 +167841,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L257", + "source_location": "L272", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerassignpoolbody", @@ -167088,7 +167851,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L268", + "source_location": "L283", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customercheckduplicatebody", @@ -167098,7 +167861,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L248", + "source_location": "L263", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerclaimbody", @@ -167108,7 +167871,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L72", + "source_location": "L87", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customercreatebody", @@ -167118,7 +167881,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L236", + "source_location": "L251", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerdealbody", @@ -167128,7 +167891,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L199", + "source_location": "L214", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerdeletebody", @@ -167138,7 +167901,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L207", + "source_location": "L222", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerdetailbody", @@ -167148,7 +167911,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L226", + "source_location": "L241", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerintopoolbody", @@ -167158,7 +167921,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L12", + "source_location": "L27", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerlistbody", @@ -167168,7 +167931,17 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L214", + "source_location": "L12", + "weight": 1.0, + "source": "app_schemas_crm_customer", + "target": "app_schemas_crm_customer_customeroptionsbody", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "app/schemas/crm/customer.py", + "source_location": "L229", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customertransferbody", @@ -167178,7 +167951,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L135", + "source_location": "L150", "weight": 1.0, "source": "app_schemas_crm_customer", "target": "app_schemas_crm_customer_customerupdatebody", @@ -167194,11 +167967,21 @@ "target": "app_schemas_crm_customer", "confidence_score": 1.0 }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "app/schemas/crm/customer.py", + "source_location": "L13", + "weight": 1.0, + "source": "app_schemas_crm_customer_rationale_13", + "target": "app_schemas_crm_customer_customeroptionsbody", + "confidence_score": 1.0 + }, { "relation": "method", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L39", + "source_location": "L54", "weight": 1.0, "source": "app_schemas_crm_customer_customerlistbody", "target": "app_schemas_crm_customer_customerlistbody_to_list_kwargs", @@ -167208,9 +167991,9 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L40", + "source_location": "L55", "weight": 1.0, - "source": "app_schemas_crm_customer_rationale_40", + "source": "app_schemas_crm_customer_rationale_55", "target": "app_schemas_crm_customer_customerlistbody_to_list_kwargs", "confidence_score": 1.0 }, @@ -167218,7 +168001,7 @@ "relation": "method", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L110", + "source_location": "L125", "weight": 1.0, "source": "app_schemas_crm_customer_customercreatebody", "target": "app_schemas_crm_customer_customercreatebody_forbid_legacy_invoice_fields", @@ -167228,7 +168011,7 @@ "relation": "method", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/customer.py", - "source_location": "L174", + "source_location": "L189", "weight": 1.0, "source": "app_schemas_crm_customer_customerupdatebody", "target": "app_schemas_crm_customer_customerupdatebody_forbid_legacy_invoice_fields", @@ -170555,7 +171338,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L277", + "source_location": "L278", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_schemas_pl_base_data_vehiclepersonnelrow", @@ -172264,7 +173047,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L221", + "source_location": "L222", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_schemas_pl_paste_recognize_pastecommitbody", @@ -172286,7 +173069,7 @@ "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L221", + "source_location": "L222", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_schemas_pl_paste_recognize_pastecommitresult", @@ -190795,7 +191578,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L221", + "source_location": "L222", "weight": 1.0, "source": "app_services_pl_paste_recognize_service", "target": "app_services_pl_paste_recognize_service_commit_paste_recognize", @@ -190898,7 +191681,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L229", + "source_location": "L230", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_services_pl_paste_recognize_service_conflict_map", @@ -190931,7 +191714,7 @@ "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L221", + "source_location": "L222", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_services_pl_paste_recognize_service_py_session", @@ -190997,7 +191780,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L183", + "source_location": "L184", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_resolve_vehicle", "target": "app_services_pl_paste_recognize_service_find_vehicle_by_plate", @@ -191019,7 +191802,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L192", + "source_location": "L193", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_resolve_vehicle", "target": "app_services_pl_paste_recognize_service_get_vehicle", @@ -191030,7 +191813,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L245", + "source_location": "L246", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_services_pl_paste_recognize_service_resolve_personnel", @@ -191041,7 +191824,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L266", + "source_location": "L267", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_services_pl_paste_recognize_service_resolve_vehicle", @@ -191052,7 +191835,7 @@ "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", - "source_location": "L296", + "source_location": "L297", "weight": 1.0, "source": "app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "app_services_pl_personnel_service_save_vehicle_personnel", @@ -210758,11 +211541,151 @@ "target": "tests_test_bx_invoice_ledger_test_summarize_upload_and_reimburse", "confidence_score": 1.0 }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L88", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L73", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L131", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L102", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L117", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L59", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L46", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L19", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L32", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L6", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L1", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_rationale_1", + "target": "tests_test_crm_contract_name_from_parties", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L60", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_rationale_60", + "target": "tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_name_from_parties.py", + "source_location": "L74", + "weight": 1.0, + "source": "tests_test_crm_contract_name_from_parties_rationale_74", + "target": "tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", + "confidence_score": 1.0 + }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L34", + "source_location": "L70", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align", + "target": "tests_test_crm_contract_no_align_mock_last_contract", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L38", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", @@ -210772,7 +211695,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L47", + "source_location": "L51", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", @@ -210782,7 +211705,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L24", + "source_location": "L28", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", @@ -210792,7 +211715,27 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L7", + "source_location": "L82", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align", + "target": "tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L94", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align", + "target": "tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L11", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", @@ -210802,7 +211745,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L14", + "source_location": "L18", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_replace_noop_when_same_date", @@ -210812,12 +211755,54 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", - "source_location": "L18", + "source_location": "L22", "weight": 1.0, "source": "tests_test_crm_contract_no_align", "target": "tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "confidence_score": 1.0 }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L84", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", + "target": "tests_test_crm_contract_no_align_mock_last_contract", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L96", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", + "target": "tests_test_crm_contract_no_align_mock_last_contract", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L83", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_rationale_83", + "target": "tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", + "confidence_score": 1.0 + }, + { + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_crm_contract_no_align.py", + "source_location": "L95", + "weight": 1.0, + "source": "tests_test_crm_contract_no_align_rationale_95", + "target": "tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", + "confidence_score": 1.0 + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -212078,5 +213063,5 @@ } ], "hyperedges": [], - "built_at_commit": "012a2ad68e4537e10d9ba59db51ebcff6cd92574" + "built_at_commit": "5fe53c5481ad38ebe6f4e2ebfb9510142b5509ac" } \ No newline at end of file diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index a684def1d..c4bec8119 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - backend (2026-08-04) ## Corpus Check -- 306 files · ~208,041 words +- 307 files · ~208,854 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 4585 nodes · 15567 edges · 533 communities (517 shown, 16 thin omitted) +- 4616 nodes · 15627 edges · 523 communities (506 shown, 17 thin omitted) - Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 410 edges (avg confidence: 0.53) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `012a2ad6` +- Built from commit: `5fe53c54` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -124,34 +124,24 @@ - [[_COMMUNITY_Community 136|Community 136]] - [[_COMMUNITY_statistics.py|statistics.py]] - [[_COMMUNITY_Community 138|Community 138]] -- [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_clue_statistics.py|clue_statistics.py]] - [[_COMMUNITY_SysEthnic|SysEthnic]] -- [[_COMMUNITY_SysApiRequestLog|SysApiRequestLog]] - [[_COMMUNITY_minio_url.py|minio_url.py]] - [[_COMMUNITY___init__.py|__init__.py]] - [[_COMMUNITY_Community 147|Community 147]] -- [[_COMMUNITY_ContractListQuery|ContractListQuery]] - [[_COMMUNITY_Community 151|Community 151]] -- [[_COMMUNITY_MinIOStorage|MinIOStorage]] - [[_COMMUNITY_PlCarrier|PlCarrier]] -- [[_COMMUNITY_get_client_ip|get_client_ip]] - [[_COMMUNITY_minio_url.py|minio_url.py]] - [[_COMMUNITY_register_local_callback|register_local_callback]] - [[_COMMUNITY_backfill_crm_contract_attachment_urls.py|backfill_crm_contract_attachment_urls.py]] -- [[_COMMUNITY_crm_models.py|crm_models.py]] -- [[_COMMUNITY_login_crypto.py|login_crypto.py]] - [[_COMMUNITY_ethnic.py|ethnic.py]] - [[_COMMUNITY_codeblock1 (iflytekshanxia2.0backend)|code:block1 (/iflytek/shanxia2.0/backend)]] - [[_COMMUNITY_test_quote_approver_setting.py|test_quote_approver_setting.py]] -- [[_COMMUNITY_BaseStorage|BaseStorage]] -- [[_COMMUNITY_LocalStorage|LocalStorage]] - [[_COMMUNITY_resolve_create_time_bounds|resolve_create_time_bounds]] - [[_COMMUNITY_datetime_parse.py|datetime_parse.py]] -- [[_COMMUNITY_.to_tenant_user_dict|.to_tenant_user_dict]] +- [[_COMMUNITY_product_allowed|product_allowed]] - [[_COMMUNITY__ensure_subpack_slip_no|_ensure_subpack_slip_no]] - [[_COMMUNITY_menu.py|menu.py]] -- [[_COMMUNITY_get_db_current_user_optional|get_db_current_user_optional]] +- [[_COMMUNITY_allocate_next_biz_no|allocate_next_biz_no]] - [[_COMMUNITY_crm_quote_pdf.py|crm_quote_pdf.py]] - [[_COMMUNITY_shanxia2.0 后端骨架(FastAPI)|shanxia2.0 后端骨架(FastAPI)]] - [[_COMMUNITY_api_crypto_middleware.py|api_crypto_middleware.py]] @@ -185,8 +175,6 @@ 10. `ApiResponse` - 79 edges ## Surprising Connections (you probably didn't know these) -- `BackfillRule` --uses--> `Settings` [INFERRED] - scripts/migrate_crm_sys_oss.py → app/core/config.py - `MigrationStats` --uses--> `Settings` [INFERRED] scripts/migrate_bx_data.py → app/core/config.py - `StepStats` --uses--> `Settings` [INFERRED] @@ -195,19 +183,21 @@ scripts/migrate_crm_clue.py → app/core/config.py - `StepStats` --uses--> `Settings` [INFERRED] scripts/migrate_crm_clue.py → app/core/config.py +- `MigrationStats` --uses--> `Settings` [INFERRED] + scripts/migrate_crm_contract.py → app/core/config.py ## Import Cycles - None detected. -## Communities (533 total, 16 thin omitted) +## Communities (523 total, 17 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.16 Nodes (32): check_document_expiry(), document_reminder_stats(), get_inventory_ledger(), get_summary(), list_document_reminders(), list_transactions(), list_warnings(), date (+24 more) ### Community 1 - "Community 1" -Cohesion: 0.08 -Nodes (38): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, 接口菜单权限守卫。super_admin 直接放行。, require_menu_code(), ContractApproverSettingSaveBody, ContractApprovalActionBody, ContractApprovalPassBody, ContractApprovalRejectBody, ContractApprovalTransferBody (+30 more) +Cohesion: 0.10 +Nodes (32): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, 接口菜单权限守卫。super_admin 直接放行。, require_menu_code(), ContractApproverSettingSaveBody, ContractApprovalActionBody, ContractBatchAssignBody, ContractBatchSubmitBody, ContractChangeCreateBody (+24 more) ### Community 2 - "Community 2" Cohesion: 0.14 @@ -215,27 +205,27 @@ Nodes (15): BxAdvanceApply, BxAdvanceApproval, AdvanceService, Any, Session, 同 ### Community 3 - "Community 3" Cohesion: 0.08 -Nodes (92): attachment_download_url(), attachment_preview_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post() (+84 more) +Nodes (99): attachment_download_url(), attachment_preview_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post() (+91 more) ### Community 4 - "Community 4" -Cohesion: 0.09 -Nodes (76): _apply_list_filters(), assign_opportunities(), batch_update_expect_date(), batch_update_stage(), change_stage(), create_opportunity(), _decimal_value(), _enrich_user_names() (+68 more) +Cohesion: 0.12 +Nodes (61): _apply_list_filters(), assign_opportunities(), batch_update_expect_date(), batch_update_stage(), change_stage(), create_opportunity(), _decimal_value(), _enrich_user_names() (+53 more) ### Community 5 - "Community 5" -Cohesion: 0.19 -Nodes (26): Settings, BaseSettings, count_source_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+18 more) +Cohesion: 0.20 +Nodes (24): count_source_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings(), load_settings_env(), load_user_mapping() (+16 more) ### Community 6 - "Community 6" Cohesion: 0.13 -Nodes (44): assign_customer(), batch_claim_customers(), check_duplicate_customer(), claim_customer(), create_customer(), deal_customer(), _enrich_user_names(), _ensure_customer_in_scope() (+36 more) +Nodes (42): assign_customer(), batch_claim_customers(), claim_customer(), create_customer(), deal_customer(), _enrich_user_names(), _ensure_customer_in_scope(), create_follow() (+34 more) ### Community 7 - "Community 7" Cohesion: 0.12 Nodes (36): get_password_hash(), Namespace, build_merged_users(), bx_role_labels(), check_minio(), check_mysql(), check_redis(), _clip() (+28 more) ### Community 8 - "Community 8" -Cohesion: 0.10 -Nodes (66): register_quote_routes(), accept_quote(), _build_quote_filters(), calculate_quote_amount(), create_new_version(), create_quote(), _decimal_value(), _enrich_contact_fields() (+58 more) +Cohesion: 0.12 +Nodes (50): register_quote_routes(), accept_quote(), _build_quote_filters(), calculate_quote_amount(), create_new_version(), create_quote(), _decimal_value(), _enrich_contact_fields() (+42 more) ### Community 11 - "Community 11" Cohesion: 0.10 @@ -243,31 +233,31 @@ Nodes (55): cancel_apply(), create_apply(), create_disburse(), delete_applies(), ### Community 12 - "Community 12" Cohesion: 0.05 -Nodes (73): contact_add(), contact_delete(), contact_update(), customer_create(), customer_delete(), customer_update(), customer_name_exists(), BaseModel (+65 more) +Nodes (69): contact_add(), contact_delete(), contact_update(), customer_create(), customer_delete(), customer_update(), customer_name_exists(), BaseModel (+61 more) ### Community 13 - "Community 13" Cohesion: 0.15 Nodes (32): create_instance(), create_process_def(), create_task(), get_all_tasks_for_business(), get_instance(), get_latest_version(), get_nodes_by_version(), get_pending_tasks_by_node() (+24 more) ### Community 14 - "Community 14" -Cohesion: 0.17 -Nodes (20): operlog_detail(), operlog_list(), Session, 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), _user_info(), business_type_from_path(), title_from_path(), _apply_oper_log_scope() (+12 more) +Cohesion: 0.10 +Nodes (25): list_public_vehicle_plates(), Session, 地磅公共只读:免登车牌 options(现场填写页), 免登:按出入库/计划解析 tenant_no,返回 pl_vehicle 车牌(self + carrier)。, _resolve_tenant_no(), get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,14 个一级菜单), menu_badge_stats() (+17 more) ### Community 15 - "Community 15" -Cohesion: 0.09 -Nodes (43): approve_reimburse(), approved_by_me(), _build_details_data(), create_reimburse(), delete_reimburse(), get_approval_history(), get_approvals(), get_generated_title() (+35 more) +Cohesion: 0.10 +Nodes (39): approve_reimburse(), approved_by_me(), _build_details_data(), create_reimburse(), delete_reimburse(), get_approval_history(), get_approvals(), get_generated_title() (+31 more) ### Community 16 - "Community 16" -Cohesion: 0.09 -Nodes (60): cancel_apply(), create_apply(), create_record(), delete_applies(), delete_records(), get_apply(), get_record(), list_applies() (+52 more) +Cohesion: 0.10 +Nodes (62): cancel_apply(), create_apply(), create_record(), delete_applies(), delete_records(), get_apply(), get_record(), list_applies() (+54 more) ### Community 18 - "Community 18" -Cohesion: 0.11 -Nodes (41): advance_pending_approval_stats(), advance_status_counts(), approve_advance(), approved_by_me(), create_advance(), delete_advance(), _fill_offset_amounts(), get_advance() (+33 more) +Cohesion: 0.10 +Nodes (56): advance_pending_approval_stats(), advance_status_counts(), approve_advance(), approved_by_me(), create_advance(), delete_advance(), _fill_offset_amounts(), get_advance() (+48 more) ### Community 19 - "Community 19" Cohesion: 0.09 -Nodes (50): _avatar_url_field(), _build_user_info_payload(), change_current_user_password(), get_current_user_profile(), get_web_auth_menu_codes(), _jwt_user_payload(), logout(), public_quote_share() (+42 more) +Nodes (46): _avatar_url_field(), _build_user_info_payload(), change_current_user_password(), get_current_user_profile(), _jwt_user_payload(), logout(), public_quote_share(), Request (+38 more) ### Community 21 - "Community 21" Cohesion: 0.09 @@ -278,64 +268,64 @@ Cohesion: 0.08 Nodes (28): parse_admin_request_json(), Any, Request, 运营 Web(/web/admin)JSON 请求体解析。 与 ApiCryptoMiddleware 配合:中间件未改写 body 时,在路由内解密 `{, 读取 JSON body;dict 时走 resolve_request_payload(明文 / 密文 / data 包装)。 Returns:, ApiCryptoError, _b64url_decode(), _b64url_encode() (+20 more) ### Community 23 - "Community 23" -Cohesion: 0.11 -Nodes (8): convert_heic_to_jpeg(), OSSStorage, process_image_content(), QiniuStorage, 文件存储工具模块 支持多种存储方式: 1. 本地存储 (local) - 默认 2. 七牛云存储 (qiniu) - 推荐生产环境使用 3. 阿里云OSS (, 将 HEIC/HEIF 格式转换为 JPEG 格式, 处理图片内容,如果是 HEIC 格式则转换为 JPEG, BytesIO +Cohesion: 0.05 +Nodes (31): BaseStorage, convert_heic_to_jpeg(), get_storage(), LocalStorage, MinIOStorage, OSSStorage, process_image_content(), Any (+23 more) ### Community 24 - "Community 24" -Cohesion: 0.09 -Nodes (21): category_add(), category_delete(), category_tree(), category_update(), product_add(), product_delete(), product_options(), product_update() (+13 more) +Cohesion: 0.08 +Nodes (25): category_add(), category_delete(), category_tree(), category_update(), product_add(), product_delete(), product_detail(), product_options() (+17 more) ### Community 25 - "Community 25" -Cohesion: 0.14 -Nodes (24): PlTransportProductBrandQty, PlTransportProductFeedback, 运输单按产品回传 pl_transport_product_feedback, 运输单产品回传品牌数量 pl_transport_product_brand_qty, _dict_field(), format_brand_qty_summary(), load_transport_driver_product_feedbacks(), persist_io_item_brand_qtys() (+16 more) +Cohesion: 0.05 +Nodes (72): BizAttachment, PlDriver, PlInboundOrderItemBrandQty, PlInventory, PlInventoryTransaction, PlInventoryWarning, PlOutboundOrderItemBrandQty, PlPlanChange (+64 more) ### Community 26 - "Community 26" -Cohesion: 0.12 -Nodes (19): list_public_vehicle_plates(), Session, 地磅公共只读:免登车牌 options(现场填写页), 免登:按出入库/计划解析 tenant_no,返回 pl_vehicle 车牌(self + carrier)。, _resolve_tenant_no(), API 路由包 — 山峡化工生产一体化门户, get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,14 个一级菜单) (+11 more) +Cohesion: 0.14 +Nodes (24): list_vehicles(), PlVehiclePersonnel, 车辆-人员关联表 pl_vehicle_personnel, CertRead, VehicleListResponse, VehiclePersonnelRow, SnapshotCertRead, SnapshotPersonnelRow (+16 more) ### Community 27 - "Community 27" -Cohesion: 0.12 -Nodes (34): _apply_plan_product_update(), _apply_plan_update(), AutoGenerateMonthlyResult, _base_query(), create_plan(), _generate_plan_no(), get_plan(), _get_plan_by_id_only() (+26 more) +Cohesion: 0.17 +Nodes (32): _apply_plan_product_update(), _apply_plan_update(), AutoGenerateMonthlyResult, _base_query(), create_plan(), delete_plan(), _generate_plan_no(), get_plan() (+24 more) ### Community 28 - "Community 28" Cohesion: 0.06 Nodes (92): approve_settlement_legacy(), cancel_settlement(), create_settlement(), delete_settlement(), disburse_settlement(), _generate_settlement_no(), get_settlement(), get_settlement_approval_flow() (+84 more) ### Community 29 - "Community 29" -Cohesion: 0.15 -Nodes (26): _build_public_page(), _build_site_product_read(), _format_file_size(), get_public_site(), _get_site_link_by_token(), _parse_feedback_images(), Session, UploadFile (+18 more) +Cohesion: 0.17 +Nodes (22): _build_public_page(), _build_site_product_read(), _format_file_size(), get_public_site(), _get_site_link_by_token(), _parse_feedback_images(), Session, UploadFile (+14 more) ### Community 30 - "Community 30" Cohesion: 0.16 Nodes (26): clear_target_categories(), compute_level(), count_target_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+18 more) ### Community 33 - "Community 33" -Cohesion: 0.20 -Nodes (15): bind_biz(), delete_attachment(), download_file(), list_by_biz(), _parse_id_list(), preview_attachment(), Session, UploadFile (+7 more) +Cohesion: 0.18 +Nodes (17): bind_biz(), delete_attachment(), download_file(), list_by_biz(), _parse_id_list(), preview_attachment(), Session, UploadFile (+9 more) ### Community 34 - "Community 34" -Cohesion: 0.24 -Nodes (7): camel_to_snake(), CRUDBase, get_model_attr(), HistoryCRUD, Any, Session, ModelType +Cohesion: 0.18 +Nodes (25): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), create_process_def(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields() (+17 more) ### Community 35 - "Community 35" Cohesion: 0.18 Nodes (36): clear_portal_workflow(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_bx_user_mapping(), load_runtime_settings() (+28 more) ### Community 36 - "Community 36" -Cohesion: 0.16 -Nodes (31): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), create_process_def(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields() (+23 more) +Cohesion: 0.13 +Nodes (21): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, StartInstanceBody, 流程实例 wf_process_instance, WfNode, WfProcessInstance, WfTask (+13 more) ### Community 37 - "Community 37" -Cohesion: 0.20 -Nodes (22): delete_plan(), delete_carrier(), unbind_vehicle_driver(), _actor_ids(), _actor_names(), assert_row_deletable_by_creator(), assert_rows_deletable_by_creator(), can_delete_by_creator() (+14 more) +Cohesion: 0.13 +Nodes (29): _actor_ids(), _actor_names(), assert_row_deletable_by_creator(), assert_rows_deletable_by_creator(), can_delete_by_creator(), is_super_admin(), normalize_user_info(), Any (+21 more) ### Community 38 - "Community 38" -Cohesion: 0.13 -Nodes (27): PlInventoryTransaction, 库存流水表 pl_inventory_transaction, load_brand_qtys_by_plan_product_ids(), persist_plan_product_brand_qtys(), Any, Decimal, Session, 按计划产品明细 ID 批量加载归档品牌数量(brandId/brandName/qty)。 (+19 more) +Cohesion: 0.16 +Nodes (19): ApiRequestLogMiddleware, _claims_from_auth(), _format_body_bytes(), _persist_log(), Any, Request, 统一记录 API 请求/响应出入参的中间件, _redact_obj() (+11 more) ### Community 39 - "Community 39" -Cohesion: 0.22 -Nodes (28): assign_clues(), check_convert(), check_duplicate_clue(), convert_clue(), create_clue(), _enrich_user_names(), _ensure_clue_in_scope(), get_clue() (+20 more) +Cohesion: 0.13 +Nodes (44): assign_clues(), check_convert(), check_duplicate_clue(), convert_clue(), create_clue(), _enrich_user_names(), _ensure_clue_in_scope(), create_clue_follow() (+36 more) ### Community 42 - "Community 42" Cohesion: 0.19 @@ -343,67 +333,63 @@ Nodes (32): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_r ### Community 43 - "Community 43" Cohesion: 0.10 -Nodes (32): create_invoice(), delete_invoice(), get_mine_wallet_summary(), list_invoice_ledgers(), list_invoice_wallets(), list_invoices(), Request, Session (+24 more) +Nodes (31): create_invoice(), delete_invoice(), get_mine_wallet_summary(), list_invoice_ledgers(), list_invoice_wallets(), list_invoices(), Request, Session (+23 more) ### Community 44 - "Community 44" -Cohesion: 0.12 -Nodes (15): _db_pool_keepalive_loop(), _error_json(), lifespan(), Exception, Request, 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, 定期 ping MySQL,避免远程库/NAT 回收空闲 TCP 后首请求长时间卡住。 (+7 more) +Cohesion: 0.08 +Nodes (25): Config, decrypt_login_payload(), ensure_initialized(), extract_login_credentials(), get_public_pem(), Any, 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。, Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。 (+17 more) ### Community 45 - "Community 45" -Cohesion: 0.07 -Nodes (84): _build_driver_url(), get_plan_arrange_info(), 获取计划已安排运输后的司机链接与地磅出入库关联(供查看弹窗复制简述/二维码)。, _build_public_page(), _format_file_size(), _format_plan_date(), get_public_transport(), _get_transport_by_token() (+76 more) +Cohesion: 0.12 +Nodes (42): _apply_plan_logistics_from_payload(), _apply_transport_arrange_fields(), arrange_transport(), _assert_vehicle_carrier_eligible(), _build_arrange_result(), _build_driver_url(), create_transport(), _ensure_driver_access_token() (+34 more) ### Community 46 - "Community 46" -Cohesion: 0.11 -Nodes (48): _apply_contract_entity_fields(), _build_contract_filters(), _build_customer_address(), _calc_amount_with_tax(), contract_no_exists(), _contract_period_key(), create_contract(), create_from_opportunity() (+40 more) +Cohesion: 0.18 +Nodes (18): align_contract_no_to_sign_date(), generate_contract_no(), date, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号} 流水与撞号检测须含软删:uk_contr, 标准编号替换日期段,保留序号;非标准返回 None。, 将标准合同编号日期段对齐签订日;撞号则序号顺延(含软删查重)。 非标准编号原样返回。无签订日则原样返回。, replace_contract_no_date(), _mock_last_contract() (+10 more) ### Community 48 - "Community 48" -Cohesion: 0.21 -Nodes (26): _apply_inventory_product_update(), _apply_inventory_update(), _base_query(), create_inventory(), create_link_for_plan(), delete_inventory(), _generate_batch_no(), _get_inventory() (+18 more) +Cohesion: 0.16 +Nodes (32): _apply_inventory_product_update(), _apply_inventory_update(), _base_query(), create_inventory(), create_link_for_plan(), delete_inventory(), _generate_batch_no(), _get_inventory() (+24 more) ### Community 49 - "Community 49" -Cohesion: 0.22 -Nodes (17): _apply_list_filters(), create_supplier_info(), get_supplier_info(), list_all_supplier_info(), list_supplier_info(), Any, Session, CRM 供方信息 CRUD — 对照 CrmSupplierInfoServiceImpl.java (+9 more) +Cohesion: 0.13 +Nodes (31): apply_crm_create_by_scope(), ensure_crm_create_by_row_in_scope(), create_pool_rule(), delete_pool_rules(), execute_pool_rules(), get_pool_rule(), list_pool_rules(), Any (+23 more) ### Community 50 - "Community 50" Cohesion: 0.15 Nodes (9): 微信消息通知服务 支持微信小程序模板消息推送 使用方式: from app.core.wechat_message import WechatMes, 发送订单状态通知 Args: openid: 用户openid order_n, 发送支付成功通知 Args: openid: 用户openid order_n, 发送配送通知 Args: openid: 配送员openid task_no:, 发送配送时效预警 Args: openid: 配送员openid task_n, 发送退款结果通知 Args: openid: 用户openid order_n, 发送催单通知给配送员 Args: deliver_openid: 配送员openid, 发送模板消息 Args: openid: 用户openid template_ (+1 more) ### Community 51 - "Community 51" -Cohesion: 0.11 -Nodes (62): create_from_contract(), create_plan(), create_plan_full(), _generate_plan_no(), 生成计划编号 POYYYYMMDD###(当日 3 位序号,每日重置), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), update_plan(), PlPlan (+54 more) +Cohesion: 0.14 +Nodes (44): PlPlanProduct, 计划产品明细表 pl_plan_product, PlanArchiveFreightBlock, PlanProductCreate, PlanTransportCreateBlock, all_hazard_products_cert_complete(), apply_archive_freight(), _apply_payload_to_transport_row() (+36 more) ### Community 52 - "Community 52" Cohesion: 0.18 Nodes (29): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env() (+21 more) ### Community 53 - "Community 53" -Cohesion: 0.12 -Nodes (29): 报销模块认证适配:门户 JWT 用户 → bx 业务上下文。, filter_current_cycle_approvals(), 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, 审批进度仅展示当前轮次;完整历史由 get_approval_history 返回。, 报销模块 Service 基类 — 租户隔离 + UUID + 软删除。, apply_bx_scope(), assert_bx_attachment_biz_in_scope(), assert_bx_biz_in_scope() (+21 more) +Cohesion: 0.14 +Nodes (21): 报销模块认证适配:门户 JWT 用户 → bx 业务上下文。, BxReimburseInvoice, BxReimburseOffset, BxWorkflowNode, 报销(bx)模块数据模型 — 对齐 docs/sql/20260606_bx_tables.sql, filter_current_cycle_approvals(), 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, 审批进度仅展示当前轮次;完整历史由 get_approval_history 返回。 (+13 more) ### Community 54 - "Community 54" Cohesion: 0.19 Nodes (28): _get_by_plan(), get_inbound(), get_inbound_by_plan(), _get_order(), get_outbound(), get_outbound_by_plan(), inbound_site_url(), list_inbound() (+20 more) ### Community 58 - "Community 58" -Cohesion: 0.15 -Nodes (34): CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), _change_row_to_dict(), create_contract_change(), create_contract_template(), _enrich_change_rows(), execute_change(), export_contract_changes() (+26 more) +Cohesion: 0.13 +Nodes (37): CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), _change_row_to_dict(), create_contract_change(), create_contract_template(), execute_change(), export_contract_changes(), export_contract_templates() (+29 more) ### Community 59 - "Community 59" Cohesion: 0.20 Nodes (28): _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env() (+20 more) ### Community 60 - "Community 60" -Cohesion: 0.18 -Nodes (17): get_oper_log_meta(), OperLogMeta, 请求级操作日志元数据(ContextVar), 供异步落库线程使用,避免 ContextVar 跨线程丢失。, set_oper_log_meta(), snapshot_oper_log_meta(), _format_summary(), oper_log() (+9 more) +Cohesion: 0.17 +Nodes (20): operlog_detail(), operlog_list(), Session, 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), _user_info(), business_type_from_path(), title_from_path(), _apply_oper_log_scope() (+12 more) ### Community 61 - "Community 61" -Cohesion: 0.13 -Nodes (34): parse_date_str(), _create_db_inventory(), _create_db_plan(), DibangInventoryLinkResult, find_monthly_db_plan(), _generate_batch_no(), _inventory_has_weighing_slip(), _month_range() (+26 more) - -### Community 62 - "Community 62" -Cohesion: 0.21 -Nodes (22): clear_target_products(), count_target_rows(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+14 more) +Cohesion: 0.11 +Nodes (45): _generate_notify_message(), PlPlan, PlTransportDbLink, 运输-地磅出入库关联 pl_transport_db_link, _apply_plan_quantity_delta(), _create_db_inventory(), _create_db_plan(), DibangInventoryLinkResult (+37 more) ### Community 63 - "Community 63" Cohesion: 0.20 @@ -411,47 +397,47 @@ Nodes (13): create_expense_item(), delete_expense_item(), get_expense_item(), ge ### Community 64 - "Community 64" Cohesion: 0.04 -Nodes (197): clue_assign(), clue_check_convert(), clue_check_duplicate(), clue_convert(), clue_create(), clue_delete(), clue_detail(), clue_export() (+189 more) +Nodes (178): clue_assign(), clue_convert(), clue_create(), clue_delete(), clue_detail(), clue_export(), clue_follow_create(), clue_follow_delete() (+170 more) ### Community 65 - "Community 65" Cohesion: 0.10 Nodes (58): cancel_apply(), create_apply(), create_process(), delete_applies(), delete_processes(), get_apply(), get_process(), list_applies() (+50 more) ### Community 66 - "Community 66" -Cohesion: 0.13 -Nodes (23): create_workflow(), delete_workflow(), get_workflow(), get_workflow_by_biz_type(), list_workflows(), Session, save_workflow_nodes(), update_workflow() (+15 more) +Cohesion: 0.18 +Nodes (18): create_workflow(), delete_workflow(), get_workflow(), get_workflow_by_biz_type(), list_workflows(), Session, save_workflow_nodes(), update_workflow() (+10 more) ### Community 67 - "Community 67" -Cohesion: 0.19 -Nodes (14): parse_resource_snapshot(), Any, 运输计划 - 安排运输时车辆/人员/证件资源快照 Schema, 从 ORM 文本列或 dict 解析快照。, SnapshotCertRead, SnapshotPersonnelRow, TransportResourceSnapshot, build_personnel_summary() (+6 more) +Cohesion: 0.09 +Nodes (48): _build_public_page(), _format_file_size(), _format_plan_date(), get_public_transport(), _get_transport_by_token(), _parse_feedback_images(), Session, UploadFile (+40 more) ### Community 68 - "Community 68" Cohesion: 0.19 -Nodes (24): paste_recognize_commit(), generate_uuid(), PlVehiclePersonnel, 车辆-人员关联表 pl_vehicle_personnel, VehiclePersonnelRow, ConflictAction, PasteCommitBody, PasteCommitResult (+16 more) +Nodes (25): bind_vehicle_driver(), create_vehicle(), get_vehicle(), paste_recognize_commit(), update_vehicle(), _vehicle_to_detail(), _vehicle_to_read(), PlVehicle (+17 more) ### Community 69 - "Community 69" -Cohesion: 0.13 -Nodes (29): _append_user_scope_conditions(), apply_data_scope(), assert_row_in_data_scope(), _collect_scope_ids(), _get_child_dept_ids(), get_user_dept_id(), Session, 数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3 (+21 more) +Cohesion: 0.14 +Nodes (28): _append_user_scope_conditions(), apply_data_scope(), assert_row_in_data_scope(), _collect_scope_ids(), _get_child_dept_ids(), get_user_dept_id(), Session, 数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3 (+20 more) ### Community 70 - "Community 70" Cohesion: 0.39 Nodes (10): create_post(), get_post(), list_posts(), post_code_exists(), Any, Session, _row_to_dict(), soft_delete_post() (+2 more) ### Community 71 - "Community 71" -Cohesion: 0.10 -Nodes (33): CRM 报价单 API 路由 — 挂接到 crm.router, total_pages(), QuoteApproverSettingSaveBody, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody, QuoteApprovalRefreshNamesBody, QuoteApprovalWithdrawBody (+25 more) +Cohesion: 0.11 +Nodes (32): CRM 报价单 API 路由 — 挂接到 crm.router, QuoteApproverSettingSaveBody, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody, QuoteApprovalRefreshNamesBody, QuoteApprovalWithdrawBody, QuoteCreateBody (+24 more) ### Community 72 - "Community 72" -Cohesion: 0.19 -Nodes (28): apply_biz_backfill(), BackfillRule, BizRef, build_biz_index(), count_target_rows(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows() (+20 more) +Cohesion: 0.18 +Nodes (30): Settings, BaseSettings, apply_biz_backfill(), BackfillRule, BizRef, build_biz_index(), count_target_rows(), derive_source_url() (+22 more) ### Community 73 - "Community 73" Cohesion: 0.20 Nodes (25): derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_oss_id_to_url(), load_runtime_settings(), load_settings_env(), load_user_mapping() (+17 more) ### Community 74 - "Community 74" -Cohesion: 0.14 -Nodes (18): get_pool_record(), list_pool_records(), Any, Session, _row_to_dict(), total_pages(), CrmCustomerPool, CRM 模块数据模型(产品分类、产品主表、统一附件表、客户管理、公海池、线索管理) (+10 more) +Cohesion: 0.18 +Nodes (17): get_pool_record(), list_pool_records(), Any, Session, _row_to_dict(), total_pages(), _execute_single_rule(), CrmCustomerPool (+9 more) ### Community 77 - "Community 77" Cohesion: 0.11 @@ -462,8 +448,8 @@ Cohesion: 0.12 Nodes (15): pool_rule_add(), pool_rule_delete(), pool_rule_detail(), pool_rule_execute(), pool_rule_list(), pool_rule_update(), pool_rule_update_status(), PoolRuleAddBody (+7 more) ### Community 81 - "Community 81" -Cohesion: 0.28 -Nodes (11): assert_products_allowed_for_supplier(), enrich_products_with_hazard_flags(), get_supplier_hazard_flags(), product_allowed(), Any, Session, 批量回填明细行 isToxic/isExplosive(来自产品主数据,供前端切换主体剔除)。, test_dual_requires_both() (+3 more) +Cohesion: 0.18 +Nodes (17): get_oper_log_meta(), OperLogMeta, 请求级操作日志元数据(ContextVar), 供异步落库线程使用,避免 ContextVar 跨线程丢失。, set_oper_log_meta(), snapshot_oper_log_meta(), _format_summary(), oper_log() (+9 more) ### Community 83 - "Community 83" Cohesion: 0.15 @@ -474,8 +460,8 @@ Cohesion: 0.23 Nodes (23): build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str(), main(), map_id() (+15 more) ### Community 86 - "Community 86" -Cohesion: 0.13 -Nodes (44): get_plan_related(), _apply_weighing_product_update(), _apply_weighing_update(), _base_query(), create_weighing(), delete_weighing(), _get_weighing(), get_weighing_related() (+36 more) +Cohesion: 0.12 +Nodes (39): _apply_weighing_product_update(), _apply_weighing_update(), _base_query(), create_weighing(), delete_weighing(), _get_weighing(), get_weighing_related(), list_weighing() (+31 more) ### Community 87 - "Community 87" Cohesion: 0.20 @@ -490,36 +476,36 @@ Cohesion: 0.19 Nodes (22): PlOcrUsageMonth, 阿里云 OCR 月度调用计数 pl_ocr_usage_month(按自然月全局统计), assert_quota_available(), _build_ocr_client(), compress_image_bytes(), current_usage_month(), _first_attachment_url(), get_or_create_usage_row() (+14 more) ### Community 91 - "pl_vehicle_recharge_service.py" -Cohesion: 0.12 -Nodes (37): register_contract_routes(), batch_assign_owner(), batch_submit_contract_approval(), contract_row_to_dict(), download_contract_pdf(), _ensure_contract_in_scope(), export_contracts(), finish_contract() (+29 more) +Cohesion: 0.07 +Nodes (87): register_contract_routes(), _apply_contract_entity_fields(), batch_assign_owner(), batch_submit_contract_approval(), _build_contract_filters(), _build_contract_name_from_parties(), _build_customer_address(), _calc_amount_with_tax() (+79 more) ### Community 92 - "Community 92" -Cohesion: 0.15 -Nodes (27): 验证密码(哈希非 bcrypt 或损坏时返回 False,避免抛错), verify_password(), change_password(), create_user(), get_user(), get_user_with_relations(), _hash_password(), list_post_ids_for_user() (+19 more) +Cohesion: 0.09 +Nodes (36): 验证密码(哈希非 bcrypt 或损坏时返回 False,避免抛错), verify_password(), camel_to_snake(), CRUDBase, get_model_attr(), HistoryCRUD, Any, Session (+28 more) ### Community 93 - "_invoice_info_by_customer_impl" -Cohesion: 0.17 -Nodes (11): price_letter_add(), price_letter_detail(), price_letter_list(), price_letter_update(), price_letter_void(), PriceLetterCreateBody, PriceLetterDetailBody, PriceLetterListBody (+3 more) +Cohesion: 0.24 +Nodes (16): allocate_reimburse_title_seq(), format_reimburse_title(), generate_apply_code(), generate_title(), is_auto_reimburse_title(), parse_reimburse_date(), preview_reimburse_title_seq(), date (+8 more) ### Community 94 - "response.py" -Cohesion: 0.22 -Nodes (15): get_storage(), download_file_bytes(), file_stream(), get_access_url(), get_download_url(), get_preview_url(), normalize_storage_path(), 报销附件存储适配 — 复用门户 app.core.storage,对外保持 bx 协议。 (+7 more) +Cohesion: 0.36 +Nodes (15): create_opportunity_follow(), _ensure_parent_opportunity(), get_opportunity_follow(), list_follows_by_opportunity(), list_opportunity_follows(), _parse_optional_datetime(), Any, datetime (+7 more) ### Community 95 - "Community 95" Cohesion: 0.35 Nodes (11): create_tenant(), get_tenant(), list_tenants(), Any, Session, _row_to_dict(), soft_delete_tenant(), tenant_no_exists() (+3 more) ### Community 97 - "_ensure_subpack_slip_no" -Cohesion: 0.09 -Nodes (56): bind_vehicle_driver(), create_driver(), create_personnel(), create_vehicle(), delete_driver(), delete_personnel(), delete_vehicle(), get_driver() (+48 more) +Cohesion: 0.21 +Nodes (22): clear_target_products(), count_target_rows(), _dec(), derive_source_url(), fetch_portal_admin_id(), fetch_source_rows(), legacy_id_to_str(), load_runtime_settings() (+14 more) ### Community 100 - "price_letter_detail" Cohesion: 0.31 Nodes (13): apply_renumber(), build_mapping(), fetch_products(), format_new_product_no(), load_settings_env(), main(), product_id_sort_key(), Engine (+5 more) ### Community 101 - ".to_tenant_user_dict" -Cohesion: 0.19 -Nodes (15): CRM 模块 Excel 导出列定义(字段与字典类型对齐 Java *Vo @ExcelDictFormat)。, _build_workbook(), DictLabelResolver, export_rows_to_xlsx_response(), ExportColumn, load_dict_label_maps(), Any, Session (+7 more) +Cohesion: 0.23 +Nodes (12): CRM 模块 Excel 导出列定义(字段与字典类型对齐 Java *Vo @ExcelDictFormat)。, _build_workbook(), DictLabelResolver, export_rows_to_xlsx_response(), ExportColumn, Any, Excel 导出工具:集中处理字典 code → label(对齐 Java ExcelDictConvert / ExcelDictPreloadConver, CRM 列表导出统一入口:表头 + 行数据 + 字典 label 转换 + 文件流响应。 (+4 more) ### Community 102 - "dept.py" Cohesion: 0.33 @@ -530,32 +516,32 @@ Cohesion: 0.29 Nodes (15): create_price_letter(), get_price_letter(), list_price_letters(), _parse_date(), Any, date, Session, _row_to_dict() (+7 more) ### Community 105 - "list_customers" -Cohesion: 0.31 -Nodes (12): PlCert, list_owner_certs(), list_owner_certs_batch(), nearest_expire_date(), _normalize_cert_row(), date, Session, 扫描 pl_cert 生成到期提醒,返回新建条数。 (+4 more) +Cohesion: 0.21 +Nodes (16): PlCert, PlDocumentReminder, 证件到期提醒表 pl_document_reminder, list_owner_certs(), list_owner_certs_batch(), nearest_expire_date(), _normalize_cert_row(), date (+8 more) ### Community 106 - "Community 106" -Cohesion: 0.36 -Nodes (11): PlTransportDbLink, 运输-地磅出入库关联 pl_transport_db_link, 再次勾选地磅安排前:软删本运输单此前生成的、仍可作废的出入库单及关联。 - 不删除地磅月计划(可能被其他业务复用) - 若出入库单已完成的/已, _resolve_link_contributed_qty(), revoke_regeneratable_dibang_for_transport(), _subtract_plan_contribution(), test_resolve_link_contributed_qty_falls_back_to_inventory(), test_resolve_link_contributed_qty_prefers_link_field() (+3 more) +Cohesion: 0.20 +Nodes (15): _fill_contract_linked_count(), list_quotes(), _parse_optional_datetime(), _period_key(), Any, datetime, query_versions(), quote_row_to_dict() (+7 more) ### Community 107 - "apply_pl_scope" -Cohesion: 0.23 -Nodes (19): create_contact(), get_contact(), list_contacts_by_customer(), _parse_optional_date(), Any, date, Session, _row_to_dict() (+11 more) +Cohesion: 0.30 +Nodes (12): PlCarrier, assert_carrier_eligible_for_transport(), carrier_agreement_expired(), carrier_audit_approved(), carrier_eligible_for_transport(), carrier_qualification_complete(), date, 资质附件均为选填,保留函数签名供兼容调用。 (+4 more) ### Community 109 - "Community 109" Cohesion: 0.35 Nodes (11): create_dict_type(), dict_type_code_exists(), get_dict_type(), list_dict_types(), Any, Session, 字典类型 CRUD(sys_dict_type), _row_to_dict() (+3 more) ### Community 110 - "Base" -Cohesion: 0.19 -Nodes (15): get_user_menu_codes(), Session, 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, _expand_with_ancestor_menu_ids(), _granted_menu_ids_for_user(), iter_user_menu_perm_codes(), _map_role_name_to_web(), Session (+7 more) +Cohesion: 0.18 +Nodes (17): get_web_auth_menu_codes(), 获取当前用户菜单权限标识(sys_menu.perms,经角色继承)。, get_user_menu_codes(), Session, 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, _expand_with_ancestor_menu_ids(), _granted_menu_ids_for_user(), iter_user_menu_perm_codes() (+9 more) ### Community 111 - "Community 111" Cohesion: 0.28 Nodes (14): _assert_editable(), _build_public_page(), _format_file_size(), _get_inventory_by_token(), get_public_inventory(), _parse_feedback_images(), Session, UploadFile (+6 more) ### Community 112 - "storage.py" -Cohesion: 0.12 -Nodes (16): 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方详情 — Java: CrmSupplierInfoController.getInfo, 新增供方 — Java: CrmSupplierInfoController.add, 修改供方 — Java: CrmSupplierInfoController.edit, 删除供方 — Java: CrmSupplierInfoController.remove, supplier_info_add(), supplier_info_delete(), supplier_info_detail() (+8 more) +Cohesion: 0.09 +Nodes (21): 分页查询供方列表 — Java: CrmSupplierInfoController.list, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方详情 — Java: CrmSupplierInfoController.getInfo, 新增供方 — Java: CrmSupplierInfoController.add, 修改供方 — Java: CrmSupplierInfoController.edit, 删除供方 — Java: CrmSupplierInfoController.remove, 导出供方列表 — Java: CrmSupplierInfoController.export, supplier_info_add() (+13 more) ### Community 113 - "quote_share_log.py" Cohesion: 0.26 @@ -566,12 +552,12 @@ Cohesion: 0.24 Nodes (12): DbSequence, 地磅(db)模块数据模型 — 对齐 docs/sql/db_tables.sql, _allocate_inbound_outbound_id(), _ensure_sequence_row(), max_numeric_inbound_outbound_id(), next_inbound_outbound_id(), Session, 出入库单 id 生成 — 租户内纯数字自增,并发安全。 (+4 more) ### Community 115 - "site.py" -Cohesion: 0.28 -Nodes (17): _address_to_read(), _build_address_query(), create_transport_address(), delete_transport_address(), _get_address(), get_transport_address(), list_all_transport_addresses(), list_transport_addresses() (+9 more) +Cohesion: 0.26 +Nodes (18): _address_to_read(), _build_address_query(), create_transport_address(), delete_transport_address(), _get_address(), get_transport_address(), list_all_transport_addresses(), list_transport_addresses() (+10 more) ### Community 116 - "Community 116" Cohesion: 0.19 -Nodes (25): calculate_subtotal(), _decimal_value(), delete_products_by_quote_id(), _ensure_quote_parent_scope(), _get_field(), get_quote_product(), insert_quote_product(), list_quote_products() (+17 more) +Nodes (26): batch_insert_quote_products(), calculate_subtotal(), _decimal_value(), delete_products_by_quote_id(), _ensure_quote_parent_scope(), _get_field(), get_quote_product(), insert_quote_product() (+18 more) ### Community 118 - "Community 118" Cohesion: 0.22 @@ -582,12 +568,12 @@ Cohesion: 0.16 Nodes (28): CertRow, _cert_row_complete(), collect_required_cert_errors(), _find_cert_for_required(), get_required_personnel_cert_names(), match_required_cert_name(), _missing_field_labels(), Session (+20 more) ### Community 122 - "Community 122" -Cohesion: 0.38 -Nodes (13): ensure_crm_customer_linked_row_in_scope(), 客户子表(开票信息等):先校验关联客户 owner scope,否则校验 create_by。, _clear_default_for_customer(), create_invoice_info(), get_invoice_info(), list_invoice_info_by_customer(), Any, Session (+5 more) +Cohesion: 0.16 +Nodes (33): create_contact(), get_contact(), list_contacts_by_customer(), _parse_optional_date(), Any, date, Session, _row_to_dict() (+25 more) ### Community 125 - "Community 125" -Cohesion: 0.06 -Nodes (63): _build_page(), _get_by_token(), _models(), Session, 运输计划 · 入库/出库单现场免登录公共 API, SoftDeleteModel, CrmProductBrand, BizAttachment (+55 more) +Cohesion: 0.08 +Nodes (53): _build_page(), _get_by_token(), _models(), Session, 运输计划 · 入库/出库单现场免登录公共 API, PlInboundOrder, PlInboundOrderItem, PlOutboundOrder (+45 more) ### Community 126 - "customer_pool.py" Cohesion: 0.45 @@ -602,16 +588,12 @@ Cohesion: 0.39 Nodes (10): create_site(), get_site(), list_sites(), Any, Session, _row_to_dict(), site_code_exists(), soft_delete_site() (+2 more) ### Community 129 - "BaseStorage" -Cohesion: 0.49 -Nodes (10): apply_pl_scope(), Session, build_menu_badge_counts(), count_document_reminder_expired_pending(), count_freight_approval_pending(), count_freight_disburse_pending(), _count_pending_applies(), count_plan_archive_pending() (+2 more) +Cohesion: 0.12 +Nodes (24): _auto_contract_name_body(), generate_contract_name(), 按面板单位全称精确匹配交易主体/客户主数据,取 shortName;对不上则用全称。, 前端预览误用单位全称时,名称片段会等于面板/客户/开票全称。, 按面板供方(partyA)-需方(partyB)生成:{供方简称}-{需方简称}({合同编号})。 - 名称为空:按主数据简称自动生成 - 名, resolve_party_short_name(), _strip_contract_name_no_suffix(), _user_contract_name_uses_party_full_name() (+16 more) ### Community 130 - "datetime_parse.py" -Cohesion: 0.15 -Nodes (14): 流程实例 wf_process_instance, 用户-角色关联 sys_user_role(V0.3), SysUserRole, WfProcessInstance, _dispatch_local(), Any, 工作流回调服务 —— 流程状态变更时通知业务系统, 尝试本地直调。返回 True 表示已处理,False 表示无匹配的本地回调。 (+6 more) - -### Community 131 - "LocalStorage" -Cohesion: 0.14 -Nodes (21): ApiCryptoMiddleware, ApiRequestLogMiddleware, _claims_from_auth(), _format_body_bytes(), _persist_log(), Any, Request, 统一记录 API 请求/响应出入参的中间件 (+13 more) +Cohesion: 0.40 +Nodes (3): Any, 供 get_tenant_no 等门户工具使用。, 与门户 JWT / apply_data_scope 所需的 user_info 字段对齐。 ### Community 132 - "crm_supplier_hazard.py" Cohesion: 0.14 @@ -630,77 +612,45 @@ Cohesion: 0.19 Nodes (18): create_role(), get_role(), get_role_data_scope(), get_role_menu_ids(), list_roles(), Any, Session, 角色 CRUD(sys_role / sys_role_menu / sys_role_data_scope_detail) (+10 more) ### Community 137 - "statistics.py" -Cohesion: 0.10 -Nodes (31): advance_issue_stats(), batch_offset(), export_advance_issues(), issue_advance(), list_advance_issues(), list_advance_offset_records(), list_pending_payments(), list_processed_payments() (+23 more) +Cohesion: 0.09 +Nodes (18): _date_to_str(), _dt_to_str(), PagedQuery, PagedResponse, date, datetime, bx 原系统 API 响应包装(code=0 / msg / data.rows),与门户 success_response 分离。, _coerce_id() (+10 more) ### Community 138 - "Community 138" Cohesion: 0.33 Nodes (19): check_python(), create_venv(), ensure_dirs(), ensure_valid_venv(), ensure_venv_and_runtime(), install_dependencies(), is_running(), log_error() (+11 more) -### Community 139 - "Community 139" -Cohesion: 0.31 -Nodes (10): align_contract_no_to_sign_date(), 标准编号替换日期段,保留序号;非标准返回 None。, 将标准合同编号日期段对齐签订日;撞号则序号顺延(含软删查重)。 非标准编号原样返回。无签订日则原样返回。, replace_contract_no_date(), test_align_bumps_seq_when_occupied(), test_align_exclude_id_skips_self(), test_align_returns_original_when_nonstandard(), test_replace_keeps_seq_and_swaps_date() (+2 more) - -### Community 141 - "clue_statistics.py" -Cohesion: 0.15 -Nodes (30): create_clue_follow(), delete_clue_follow(), get_clue_follow(), get_follow_statistics(), list_clue_follows(), Any, Session, 更新线索跟进记录,必要时同步线索 next_time (+22 more) - ### Community 143 - "SysEthnic" Cohesion: 0.33 Nodes (11): create_leave(), get_leave(), list_leaves(), Any, Session, _row_to_dict(), soft_delete_leave(), update_leave() (+3 more) -### Community 144 - "SysApiRequestLog" -Cohesion: 0.15 -Nodes (14): invoice_info_add(), invoice_info_by_customer(), _invoice_info_by_customer_impl(), invoice_info_delete(), invoice_info_list(), invoice_info_set_default(), invoice_info_update(), 按客户ID查询开票信息(与 by-customer 等价) (+6 more) - ### Community 145 - "minio_url.py" -Cohesion: 0.51 -Nodes (10): apply_site_feedback(), OrderItem, _header(), _item(), test_apply_site_feedback_does_not_reset_first_submitted_at(), test_apply_site_feedback_keeps_in_progress_when_requested(), test_apply_site_feedback_rejects_already_voided(), test_apply_site_feedback_rejects_invalid_status() (+2 more) +Cohesion: 0.08 +Nodes (22): pool_customer_assign(), pool_customer_claim(), pool_customer_list(), pool_record_detail(), pool_record_list(), price_letter_add(), price_letter_detail(), price_letter_list() (+14 more) ### Community 146 - "__init__.py" -Cohesion: 0.49 -Nodes (10): clue_statistics_level(), _apply_create_range(), _base_query(), get_clue_level_statistics(), get_clue_overview_statistics(), get_clue_owner_statistics(), get_clue_source_statistics(), get_clue_trend_statistics() (+2 more) +Cohesion: 0.29 +Nodes (15): clue_statistics_level(), clue_statistics_overview(), clue_statistics_owner(), clue_statistics_source(), clue_statistics_trend(), _apply_create_range(), _base_query(), get_clue_level_statistics() (+7 more) ### Community 147 - "Community 147" Cohesion: 0.37 Nodes (17): check_env(), check_python(), create_venv(), init_env(), install_dependencies(), log_error(), log_info(), log_success() (+9 more) -### Community 150 - "ContractListQuery" -Cohesion: 0.33 -Nodes (8): allocate_next_biz_no(), _format_biz_no(), _prefix_for(), datetime, Session, 业务协议号自动生成:XBCC / JZCC + YYYYMMDD + 6 位序号, 原子分配下一个业务协议号。 须在 create 事务内调用;使用 MySQL LAST_INSERT_ID 保证并发安全。, BizNoKind - -### Community 152 - "MinIOStorage" -Cohesion: 0.24 -Nodes (5): MinIOStorage, Any, 从 MINIO_BASE_URL 解析公网 endpoint;未配置或与内网相同时复用 self.client。, MinIO 预签名下载 URL,携带原始文件名。, MinIO 预签名内联预览 URL(PDF 等 iframe 场景)。 - ### Community 154 - "PlCarrier" -Cohesion: 0.15 -Nodes (24): approve_carrier(), create_carrier(), get_carrier(), update_carrier(), PlCarrier, carrier_to_read(), CarrierBase, CarrierCreate (+16 more) - -### Community 156 - "get_client_ip" -Cohesion: 0.27 -Nodes (11): create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options(), Any, Session, 字典数据 CRUD(sys_dict_data), 字典下拉选项:租户主数据,忽略数据范围(user_info 保留兼容调用方,不参与过滤)。 (+3 more) +Cohesion: 0.09 +Nodes (54): approve_carrier(), create_carrier(), create_driver(), create_personnel(), delete_carrier(), delete_driver(), delete_personnel(), delete_vehicle() (+46 more) ### Community 159 - "minio_url.py" -Cohesion: 0.52 -Nodes (6): apply_updates(), collect_candidates(), main(), parse_name(), Path, write_csv() +Cohesion: 0.49 +Nodes (10): apply_pl_scope(), Session, build_menu_badge_counts(), count_document_reminder_expired_pending(), count_freight_approval_pending(), count_freight_disburse_pending(), _count_pending_applies(), count_plan_archive_pending() (+2 more) ### Community 160 - "register_local_callback" -Cohesion: 0.15 -Nodes (19): create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), Session, submit_leave() (+11 more) +Cohesion: 0.13 +Nodes (21): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), Session (+13 more) ### Community 161 - "backfill_crm_contract_attachment_urls.py" Cohesion: 0.33 Nodes (10): load_oss_map(), load_runtime_settings(), load_settings_env(), main(), Any, Engine, 返回 (新值, 是否发生了 id→url 替换)。, resolve_token() (+2 more) -### Community 162 - "crm_models.py" -Cohesion: 0.24 -Nodes (11): get_current_time(), parse_datetime(), datetime, create_oss(), get_oss_by_id(), get_oss_by_url(), Session, 按主键 id 查询附件(兼容旧 CRM 雪花 oss_id 迁入后的记录) (+3 more) - -### Community 163 - "login_crypto.py" -Cohesion: 0.31 -Nodes (9): decrypt_login_payload(), ensure_initialized(), extract_login_credentials(), get_public_pem(), Any, 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。, Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。, 从请求体解析用户名、密码。 返回 (username, password, error_message);error_message 非空时表示失败。 (+1 more) - ### Community 164 - "ethnic.py" Cohesion: 0.21 Nodes (11): list_ethnics(), Any, Session, 民族码表 CRUD(全局 sys_ethnic), _row_to_dict(), 数据模型(与 docs/sql/shanxia2.0.sql 全库导出基线对齐的核心系统表), Web 管理端约定角色(由 sys_role.role_name 映射而来,非数据库枚举), 民族码表 sys_ethnic(国标 GB/T 3304,全局) (+3 more) @@ -709,33 +659,29 @@ Nodes (11): list_ethnics(), Any, Session, 民族码表 CRUD(全局 sys_ethnic Cohesion: 0.20 Nodes (21): _assert_users_exist(), get_setting(), Any, Session, _row_to_dict(), save_setting(), _assert_users_exist(), get_setting() (+13 more) -### Community 171 - "BaseStorage" -Cohesion: 0.22 -Nodes (3): BaseStorage, 带下载文件名的访问 URL;默认实现为普通访问地址。, 浏览器内联预览 URL;默认实现为普通访问地址。 - ### Community 173 - "resolve_create_time_bounds" Cohesion: 0.67 Nodes (3): parse_optional_plan_datetime(), datetime, 运输计划相关日期时间解析:前端 date-picker 仅传 YYYY-MM-DD。 ### Community 174 - "datetime_parse.py" -Cohesion: 0.60 -Nodes (4): date, _resolve_create_date(), test_resolve_create_date_defaults_today(), test_resolve_create_date_uses_explicit() +Cohesion: 0.33 +Nodes (8): _build_driver_url(), get_plan_arrange_info(), 获取计划已安排运输后的司机链接与地磅出入库关联(供查看弹窗复制简述/二维码)。, TransportSiteLinkRead, build_transport_site_link_read(), build_transport_site_link_read_from_row(), _parse_feedback_images(), Session -### Community 178 - ".to_tenant_user_dict" -Cohesion: 0.40 -Nodes (3): Any, 供 get_tenant_no 等门户工具使用。, 与门户 JWT / apply_data_scope 所需的 user_info 字段对齐。 +### Community 178 - "product_allowed" +Cohesion: 0.28 +Nodes (11): assert_products_allowed_for_supplier(), enrich_products_with_hazard_flags(), get_supplier_hazard_flags(), product_allowed(), Any, Session, 批量回填明细行 isToxic/isExplosive(来自产品主数据,供前端切换主体剔除)。, test_dual_requires_both() (+3 more) ### Community 179 - "_ensure_subpack_slip_no" Cohesion: 0.07 -Nodes (66): Session, recognize_cert(), RecognizeCertBody, RecognizeCertResult, archive_plan(), cancel_plan(), cancel_plan_wait_notice(), count_plans_by_contract() (+58 more) +Nodes (78): archive_plan(), cancel_plan(), cancel_plan_wait_notice(), count_plans_by_contract(), create_from_contract(), create_plan(), create_plan_full(), delete_plan() (+70 more) ### Community 180 - "menu.py" Cohesion: 0.36 Nodes (13): _build_tree(), _cascade_soft_delete(), create_menu(), get_menu(), list_menus(), list_menus_tree(), menu_name_exists(), Any (+5 more) -### Community 181 - "get_db_current_user_optional" -Cohesion: 0.67 -Nodes (3): get_db_current_user_optional(), Session, 有 Bearer 且为 admin/super_admin 时返回上下文,否则 None(供三方 H5 无登录调用)。 +### Community 187 - "allocate_next_biz_no" +Cohesion: 0.11 +Nodes (27): generate_uuid(), get_current_time(), parse_datetime(), datetime, allocate_next_biz_no(), _format_biz_no(), _prefix_for(), datetime (+19 more) ### Community 206 - "crm_quote_pdf.py" Cohesion: 0.36 @@ -746,8 +692,8 @@ Cohesion: 0.18 Nodes (10): 1. 创建虚拟环境, 2. 安装依赖, 3. 配置环境变量, 4. 启动服务, API 路由分组, shanxia2.0 后端骨架(FastAPI), 开发规范, 快速开始 (+2 more) ### Community 220 - "api_crypto_middleware.py" -Cohesion: 0.13 -Nodes (22): _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client(), _is_crypto_api(), _json_error_response(), _mark_nonce_once(), _nonce_key(), Redis (+14 more) +Cohesion: 0.14 +Nodes (23): ApiCryptoMiddleware, _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client(), _is_crypto_api(), _json_error_response(), _mark_nonce_once(), _nonce_key() (+15 more) ### Community 237 - "order_status_compat.py" Cohesion: 0.36 @@ -764,22 +710,22 @@ Nodes (6): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时 ## Knowledge Gaps - **30 isolated node(s):** `Config`, `Config`, `Config`, `Config`, `Config` (+25 more) These have ≤1 connection - possible missing edges or undocumented components. -- **16 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. +- **17 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `BaseModel` connect `Community 12` to `Community 0`, `Community 1`, `Community 3`, `statistics.py`, `Community 11`, `Community 14`, `Community 15`, `SysApiRequestLog`, `Community 16`, `Community 18`, `Community 24`, `PlCarrier`, `Community 27`, `Community 28`, `Community 26`, `register_local_callback`, `Community 33`, `Community 36`, `Community 43`, `Community 45`, `Community 48`, `_ensure_subpack_slip_no`, `Community 51`, `Community 54`, `Community 58`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 71`, `Community 78`, `Community 86`, `_invoice_info_by_customer_impl`, `_ensure_subpack_slip_no`, `Community 111`, `storage.py`, `site.py`, `Community 119`, `Community 125`, `Community 127`?** - _High betweenness centrality (0.120) - this node is a cross-community bridge._ -- **Why does `generate_uuid()` connect `Community 68` to `Community 0`, `plan.py`, `Community 2`, `Community 4`, `Community 6`, `Community 134`, `Community 8`, `Community 136`, `post.py`, `Community 11`, `Community 7`, `clue_statistics.py`, `Community 13`, `SysEthnic`, `Community 15`, `Community 16`, `Community 19`, `Community 21`, `ContractListQuery`, `Community 25`, `PlCarrier`, `Community 27`, `get_client_ip`, `Community 28`, `minio_url.py`, `crm_models.py`, `Community 38`, `Community 39`, `test_quote_approver_setting.py`, `Community 43`, `Community 45`, `Community 46`, `Community 49`, `_ensure_subpack_slip_no`, `Community 51`, `menu.py`, `Community 53`, `Community 58`, `Community 61`, `Community 65`, `Community 66`, `Community 70`, `Community 74`, `Community 83`, `Community 86`, `Community 87`, `pl_ocr_service.py`, `Community 92`, `Community 95`, `_ensure_subpack_slip_no`, `dept.py`, `apply_crm_create_by_scope`, `list_customers`, `apply_pl_scope`, `Community 109`, `quote_share_log.py`, `db_models.py`, `site.py`, `Community 116`, `Community 118`, `Community 122`, `Community 125`?** - _High betweenness centrality (0.116) - this node is a cross-community bridge._ -- **Why does `Settings` connect `Community 5` to `backfill_crm_contract_attachment_urls.py`, `Community 35`, `crm_supplier_hazard.py`, `price_letter_detail`, `Community 7`, `Community 72`, `Community 73`, `Community 42`, `Community 52`, `Community 30`, `Any`, `Community 59`, `api_crypto_middleware.py`, `Community 62`?** - _High betweenness centrality (0.111) - this node is a cross-community bridge._ +- **Why does `Settings` connect `Community 72` to `backfill_crm_contract_attachment_urls.py`, `_ensure_subpack_slip_no`, `Community 35`, `crm_supplier_hazard.py`, `Community 5`, `price_letter_detail`, `Community 7`, `Community 73`, `Community 42`, `Community 44`, `Community 52`, `Any`, `Community 59`, `Community 30`?** + _High betweenness centrality (0.109) - this node is a cross-community bridge._ +- **Why does `BaseModel` connect `Community 12` to `Community 0`, `Community 1`, `Community 3`, `LocalStorage`, `statistics.py`, `Community 11`, `Community 14`, `Community 15`, `Community 16`, `minio_url.py`, `Community 18`, `__init__.py`, `Community 24`, `Community 25`, `PlCarrier`, `Community 27`, `Community 26`, `Community 28`, `register_local_callback`, `Community 33`, `Community 34`, `Community 36`, `Community 43`, `Community 45`, `datetime_parse.py`, `Community 48`, `_ensure_subpack_slip_no`, `Community 51`, `Community 54`, `Community 58`, `Community 60`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 71`, `Community 78`, `Community 86`, `Community 111`, `storage.py`, `site.py`, `Community 119`, `Community 127`?** + _High betweenness centrality (0.103) - this node is a cross-community bridge._ +- **Why does `generate_uuid()` connect `allocate_next_biz_no` to `Community 0`, `plan.py`, `Community 2`, `Community 4`, `Community 6`, `Community 134`, `Community 8`, `Community 136`, `post.py`, `Community 11`, `Community 7`, `Community 13`, `SysEthnic`, `Community 15`, `Community 16`, `Community 19`, `Community 21`, `Community 25`, `PlCarrier`, `Community 27`, `Community 28`, `Community 26`, `Community 37`, `Community 39`, `test_quote_approver_setting.py`, `Community 43`, `Community 45`, `Community 49`, `_ensure_subpack_slip_no`, `menu.py`, `Community 53`, `Community 51`, `Community 58`, `Community 61`, `Community 65`, `Community 66`, `Community 68`, `Community 70`, `Community 74`, `Community 83`, `Community 86`, `Community 87`, `pl_ocr_service.py`, `pl_vehicle_recharge_service.py`, `Community 92`, `response.py`, `Community 95`, `dept.py`, `apply_crm_create_by_scope`, `list_customers`, `Community 109`, `quote_share_log.py`, `db_models.py`, `site.py`, `Community 116`, `Community 118`, `Community 122`, `Community 125`?** + _High betweenness centrality (0.092) - this node is a cross-community bridge._ - **Are the 8 inferred relationships involving `DbUserContext` (e.g. with `InventoryRelatedData` and `AutoGenerateMonthlyResult`) actually correct?** _`DbUserContext` has 8 INFERRED edges - model-reasoned connections that need verification._ - **What connects `API 路由包 — 山峡化工生产一体化门户`, `返回运营端角色下拉选项(label=库中角色名,value=Web 角色码)。`, `返回用户下拉选项(label=昵称,value=用户ID,附带 nickName/userNo)。 供申请人/审批人等选择场景使用,返回本租户全部有效` to the rest of the system?** - _507 weakly-connected nodes found - possible documentation gaps or missing edges._ + _516 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 1` be split into smaller, more focused modules?** - _Cohesion score 0.07804878048780488 - nodes in this community are weakly interconnected._ + _Cohesion score 0.0957983193277311 - nodes in this community are weakly interconnected._ - **Should `Community 2` be split into smaller, more focused modules?** _Cohesion score 0.14304993252361672 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/0d35214081d8a80769bdc081741b21f0f3d3af272d2ca6122744a5cbbc002ae1.json b/backend/graphify-out/cache/ast/v0.9.4/0d35214081d8a80769bdc081741b21f0f3d3af272d2ca6122744a5cbbc002ae1.json new file mode 100644 index 000000000..2affeaa1f --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/0d35214081d8a80769bdc081741b21f0f3d3af272d2ca6122744a5cbbc002ae1.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "label": "test_crm_contract_name_from_parties.py", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "label": "test_resolve_matches_supplier_exact_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "label": "test_resolve_matches_customer_exact_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "label": "test_resolve_matches_customer_invoice_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "label": "test_resolve_fallback_to_party_full_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L46"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "label": "test_resolve_does_not_fuzzy_match_short_inside_longer_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L59"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "label": "test_generate_empty_uses_party_order_after_swap()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L73"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "label": "test_generate_empty_default_party_order()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L88"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "label": "test_generate_purchase_does_not_reverse_party_order()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L102"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "label": "test_generate_user_name_keeps_body_and_syncs_no()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "label": "test_generate_fallback_when_parties_blank()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L131"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_1", "label": "\u5408\u540c\u540d\u79f0\u6309\u4f9b\u9700\u65b9\u9762\u677f\uff08partyA/partyB\uff09\u89e3\u6790\u7b80\u79f0\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_60", "label": "\u907f\u514d\u300c\u5c71\u5ce1\u300d\u5b50\u4e32\u8bef\u5339\u914d\u5ba2\u6237\u5168\u79f0\u4e2d\u7684\u5c71\u5ce1\u4e8c\u5b57\u5230\u4ea4\u6613\u4e3b\u4f53\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L60"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_74", "label": "\u8c03\u6362\u540e\u4f9b\u65b9=\u8f89\u9686\u3001\u9700\u65b9=\u5c71\u5ce1 \u2192 \u8f89\u9686-\u5c71\u5ce1\uff08\u7f16\u53f7\uff09\uff0c\u4e0d\u56e0\u7c7b\u578b\u53cd\u5e8f\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L74"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "app_crud_crm_contract", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L46", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L73", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L88", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_60", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L60", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_74", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L74", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L8", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L21", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L34", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L62", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L75", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L89", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L103", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L118", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L132", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/34c9d96b8b5da5dacd84a86a557455f5e81ed38c96452f6be763f241163c160c.json b/backend/graphify-out/cache/ast/v0.9.4/34c9d96b8b5da5dacd84a86a557455f5e81ed38c96452f6be763f241163c160c.json new file mode 100644 index 000000000..36480af34 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/34c9d96b8b5da5dacd84a86a557455f5e81ed38c96452f6be763f241163c160c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L48"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L52"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L75"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L83"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L101"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L138"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L245"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L249"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "label": "list_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L390"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "label": "get_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L424"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "label": "get_contract_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L529"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "label": "get_contract_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L566"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "label": "_build_contract_name_from_parties()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L579"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "label": "generate_contract_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L623"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "label": "contract_no_exists()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L670"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "label": "replace_contract_no_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L690"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L702"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "label": "resolve_party_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L735"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "label": "generate_contract_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L769"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "label": "is_framework_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L815"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L819"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L827"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L840"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L854"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L863"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L881"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L887"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "label": "create_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1063"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "label": "update_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1166"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "label": "soft_delete_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1272"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1296"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "label": "submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1315"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1358"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1388"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "label": "start_execute()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1415"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "label": "finish_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1438"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "label": "invalid_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1461"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "label": "save_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1489"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "label": "get_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1519"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "label": "upload_file()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1532"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "label": "upload_attachments()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1574"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1621"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "label": "statistics_by_status()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1684"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "label": "statistics_by_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1718"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "label": "_contract_period_key()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1755"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1764"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "label": "query_expiring()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1810"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1837"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "label": "create_from_quote()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1868"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "label": "renew_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1927"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "label": "export_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1981"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "label": "_change_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1998"}, {"id": "crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "label": "list_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2020"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "label": "get_contract_change_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2049"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "label": "_template_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2073"}, {"id": "crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "label": "list_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2098"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "label": "get_contract_template_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2131"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2151"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "label": "create_from_opportunity()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2176"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "label": "sign_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2229"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "label": "batch_assign_owner()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2260"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "label": "download_contract_pdf()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2294"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "label": "generate_template_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2311"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "label": "_get_change_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2343"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "label": "_enrich_change_rows()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2355"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "label": "create_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2370"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "label": "update_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2421"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2459"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "label": "submit_change_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2485"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "label": "withdraw_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2508"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "label": "execute_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2521"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "label": "export_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2533"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "label": "create_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "label": "update_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2599"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2656"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2690"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "label": "export_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2716"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_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": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "label": "ORM \u2192 camelCase\uff08\u5355\u70b9\u771f\u76f8\uff09", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L169"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L256"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "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": "app/crud/crm/contract.py", "source_location": "L592"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "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": "app/crud/crm/contract.py", "source_location": "L630"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_677", "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": "app/crud/crm/contract.py", "source_location": "L677"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_691", "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": "app/crud/crm/contract.py", "source_location": "L691"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_710", "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": "app/crud/crm/contract.py", "source_location": "L710"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_744", "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": "app/crud/crm/contract.py", "source_location": "L744"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_782", "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", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L782"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1280", "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1280"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1303", "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": "app/crud/crm/contract.py", "source_location": "L1303"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1369", "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1369"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1397", "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1397"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1878", "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1878"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1937", "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1937"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1988", "label": "Java: queryList for export", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1988"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2186", "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2186"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2270", "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2270"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2301", "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2301"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2312", "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2312"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2494", "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2494"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contact", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_customer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "crmcontract", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "crmcontract", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L670", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L670", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L735", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L815", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L819", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L827", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L840", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L854", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L863", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L863", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L887", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L887", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L887", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1166", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1166", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1166", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1296", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1296", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1296", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1315", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1315", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1358", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1358", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1388", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1388", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1415", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1415", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1438", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1438", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1461", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1461", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1489", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1489", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1519", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1519", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1532", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1532", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1621", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1621", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1621", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1718", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1718", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1718", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1755", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1755", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1810", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1810", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1810", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1837", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1868", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1868", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1927", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1927", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1981", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1981", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1981", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1998", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "crmcontractchange", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1998", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1998", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2020", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2020", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2020", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2049", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2049", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2049", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "crmcontracttemplate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2098", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2098", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2098", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2151", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2176", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2176", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2229", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2260", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2260", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2294", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2294", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2311", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2311", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "crmcontractchange", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2421", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2459", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2459", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2508", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2508", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2521", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2521", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2533", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2533", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2533", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2599", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2599", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2599", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2656", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2656", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2716", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2716", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2716", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L80", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L89", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L259", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L402", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L417", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L595", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L606", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L610", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L664", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L719", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L730", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L784", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L820", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L821", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L828", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L828", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L841", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L846", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L848", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L855", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L858", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L859", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L883", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L942", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L947", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L963", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L997", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1006", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1007", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1022", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1031", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1054", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1072", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1077", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1078", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1079", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1080", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1096", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1103", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "crmcontract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1116", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1163", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1177", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1189", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1190", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1191", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1198", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1215", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1239", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1269", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1283", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1304", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1307", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1327", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1333", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1373", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1398", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1526", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1540", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1559", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1584", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1633", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1650", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1657", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1741", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1774", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1787", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1791", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1794", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1834", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1895", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1898", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1904", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1938", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1973", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1977", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1990", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1992", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2046", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2070", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2128", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2148", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2207", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2212", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2214", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2247", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2251", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2278", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2280", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "crmcontractchange", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2393", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2402", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2418", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2430", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2448", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2452", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2456", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2469", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2495", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2509", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2522", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2539", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2546", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2557", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2563", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "crmcontracttemplate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2580", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2580", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2596", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2639", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2643", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2653", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2722", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L256", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L592", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L630", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_677", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L677", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_691", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L691", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_710", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L710", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_744", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L744", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_782", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L782", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1280", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1280", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1303", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1303", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1369", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1369", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1397", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1397", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1878", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1878", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1937", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1937", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1988", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1988", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2186", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2186", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2270", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2270", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2301", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2312", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2312", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2494", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2494", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "callee": "ensure_crm_owner_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L72", "receiver": "math"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "callee": "Decimal", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L78"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "date", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "SysUser", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L131", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L135", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "list_invoice_info_by_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "province", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L160"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "city", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "district", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L162"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L163"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L259", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L260", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L261", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L271", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L272", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L274", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L283", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L285", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L289", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L293", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L309", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L313", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L317", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L327", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L339", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L344", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L350", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L358", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L412", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L413", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L447", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L455", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L462", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L466", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L468", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L471"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L472", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L473"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L474", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L475"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L476", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L477"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L479"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L483", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L485", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L488", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L490", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L493", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L494", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L495", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L497", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L498", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L503", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L504", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L506", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L509", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L510", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L511", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L512", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L514", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L521", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L545", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L569", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L572", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L573", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L574", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L575", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L593", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L597", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L602", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L604", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L605", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L636", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L637", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L638", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L640", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L641", "receiver": "date_to_use"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L649", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L651", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L667", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L678", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L684", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L694", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L694", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L698", "receiver": "sign_date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L714", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L717", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L721", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L723", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L732", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L745", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L749", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L750", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L756", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L757", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L758", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L783", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L800", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "sub", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805", "receiver": "re"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805", "receiver": "user_contract_name"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L816", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L820", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L824", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L834"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L841", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L849", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L851", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L855", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L860", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "callee": "resolve_product_id_for_quote_item", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L871", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L979", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L982", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L984", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L989", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L994", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1000", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1002", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1007"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1009"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1011"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1013"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1015"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1017"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1019"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1025", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1030", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1037", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1043", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1046", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1050", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1052", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1073"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1074", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1082", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1084", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1086", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1088", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1095", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1096", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1098", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1104", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1108", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1110", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1147", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1148", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1161", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1162", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1179", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1181", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1205", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1207", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1217", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1218", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1218", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1231", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1235", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1252", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1253", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "delete_products_by_contract_id", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1256", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1258", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1268", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1287", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1288", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1290", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1292", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1306", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1310", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1312", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1329", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1331", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1341", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1342", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1345", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1354", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1400", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1402", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1409", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1410", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1411", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1426", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1428", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1433", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1434", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1449", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1451", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1456", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1457", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1471", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1472", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1475", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1477", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1480", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1484", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1485", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1500", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1503", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1504", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1510", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1514", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1515", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1528", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1542", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1544", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1545", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1558", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1561", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1563", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1564", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1564", "receiver": "oss_ids"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1564", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1565", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1565", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "discard", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1566", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "update", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1567", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1568", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1569", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1570", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1583", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1586", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1589", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1591", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "loads", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1593", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1594"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1595"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1599", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600", "receiver": "oss_id"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1602", "receiver": "existing_list"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1604", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1604", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1606", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1606", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1606", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1609", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1615", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "values", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1615", "receiver": "oss_index"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1616", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1617", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1630", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1630"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1642", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1642"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1657", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1657"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1662", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1662"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1669", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1670", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1671", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1672", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1673", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1685", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1685"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1687", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1687"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1706", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1719", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1719"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1721", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1721"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1743", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1757", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1761", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1773", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1773"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1779", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1779"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1784", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1784"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1787", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1790", "receiver": "grouped"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1794", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1794"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1798", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1819", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1820", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1822", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1822", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1822"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "isnot", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1827", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1831", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1840", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1843", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1843", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1844", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1844", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1845", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1845", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1847", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1847", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1850", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1851", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1852", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1853", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1854", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1855", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1855", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1856", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1856", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1857", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1858", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1858", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1859", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1859", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1860", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1861", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1862", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get_quote", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1879", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1881", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1884", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1885", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1887", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1888", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1890", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1892", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1897", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1900", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1901", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1914", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1914", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "CrmQuote", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1914"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1921", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1922", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1940", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1944", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1945", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1946", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1947", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1948", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1948", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1953", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1956", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1957", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1958", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1959", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1960", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1961", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1962", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1963", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1964", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1964", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1965", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1965", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1966", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1966", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1968", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1970", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1975", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1989", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1989"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1991", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2012", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2012"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2016", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2016"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2036", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2036", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2036", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2039", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2039", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2039", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2041", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2045", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2045", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2045", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2045", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2057", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2057", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2057"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2066", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2067", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2094", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2094"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2107", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2107"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2116", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2119", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2120", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2122", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2122", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2122", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2122", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2125", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2138", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2138", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2138"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2154", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2156", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2156", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2157", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2157", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2160", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2160", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2161", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2162", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2163", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2164", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2165", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2166", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2166", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2167", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2168", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2169", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2169", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2170", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2188", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2188", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "CrmOpportunity", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2188"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2197", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2200", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2201", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2202", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2204", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2211", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2224", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2225", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2243", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2245", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2255", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2256", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2272", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2275", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2288", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2290", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2304", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2305", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2307", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2313", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2313", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2316", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2316", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2316", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2316"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2320", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2322", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2334", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2334", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2340", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2345", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2345", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2345"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2356", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2356", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2360", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2361", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2366", "receiver": "name_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2366", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2378", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2380", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2383", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2385", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2386", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2388", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2390", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2392", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2394", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2396", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2416", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2417", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2432", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2433", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2437", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2454", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2455", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2472", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2476", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2477", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2479", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2481", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2497", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2499", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2503", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2504", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2511", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2513", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2516", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2517", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2524", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2526", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2528", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2529", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2559", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2561", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2565", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2567", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2594", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2595", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2618", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2619", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2651", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2652", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2667", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2667", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2667"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2677", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2681", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2682", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2684", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2686", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2699", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2699", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2699"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2708", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2711", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2712", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/369ddae942265f4492be1901fd0bec978288096dd18525fcc9f10d8eec470332.json b/backend/graphify-out/cache/ast/v0.9.4/369ddae942265f4492be1901fd0bec978288096dd18525fcc9f10d8eec470332.json new file mode 100644 index 000000000..74b9518a4 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/369ddae942265f4492be1901fd0bec978288096dd18525fcc9f10d8eec470332.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L48"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L52"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L75"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L83"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L101"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L138"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L245"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L249"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "label": "list_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L390"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "label": "get_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L424"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "label": "get_contract_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L529"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "label": "get_contract_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L566"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "label": "_build_contract_name_from_parties()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L579"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "label": "generate_contract_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L625"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "label": "contract_no_exists()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L672"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "label": "replace_contract_no_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L692"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L704"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "label": "resolve_party_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L737"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "label": "_strip_contract_name_no_suffix()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L771"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "label": "_auto_contract_name_body()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L775"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "label": "_user_contract_name_uses_party_full_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L804"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "label": "generate_contract_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L828"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "label": "is_framework_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L900"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L904"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L912"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L925"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L939"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L948"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L966"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L972"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "label": "create_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1148"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "label": "update_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1251"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "label": "soft_delete_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1357"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1381"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "label": "submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1400"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1443"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1473"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "label": "start_execute()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1500"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "label": "finish_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1523"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "label": "invalid_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1546"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "label": "save_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1574"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "label": "get_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1604"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "label": "upload_file()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1617"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "label": "upload_attachments()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1634"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1659"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1706"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "label": "statistics_by_status()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1769"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "label": "statistics_by_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1803"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "label": "_contract_period_key()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1840"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1849"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "label": "query_expiring()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1895"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1922"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "label": "create_from_quote()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1953"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "label": "renew_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2012"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "label": "export_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2066"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "label": "_change_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2083"}, {"id": "crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "label": "list_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2105"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "label": "get_contract_change_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "label": "_template_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2158"}, {"id": "crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "label": "list_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2183"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "label": "get_contract_template_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2216"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2236"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "label": "create_from_opportunity()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2261"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "label": "sign_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2314"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "label": "batch_assign_owner()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2345"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "label": "download_contract_pdf()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2379"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "label": "generate_template_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2396"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "label": "_get_change_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2428"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "label": "_enrich_change_rows()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2440"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "label": "create_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2455"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "label": "update_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2506"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2544"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "label": "submit_change_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2570"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "label": "withdraw_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2593"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "label": "execute_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2606"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "label": "export_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2618"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "label": "create_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2634"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "label": "update_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2684"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2741"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2775"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "label": "export_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2801"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_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": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "label": "ORM \u2192 camelCase\uff08\u5355\u70b9\u771f\u76f8\uff09", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L169"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L256"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "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": "app/crud/crm/contract.py", "source_location": "L592"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_632", "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": "app/crud/crm/contract.py", "source_location": "L632"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_679", "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": "app/crud/crm/contract.py", "source_location": "L679"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_693", "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": "app/crud/crm/contract.py", "source_location": "L693"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_712", "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": "app/crud/crm/contract.py", "source_location": "L712"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_746", "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": "app/crud/crm/contract.py", "source_location": "L746"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_813", "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": "app/crud/crm/contract.py", "source_location": "L813"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_841", "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": "app/crud/crm/contract.py", "source_location": "L841"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1365", "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1365"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1388", "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": "app/crud/crm/contract.py", "source_location": "L1388"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1454", "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1454"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1482", "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1482"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1963", "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1963"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2022", "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2022"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2073", "label": "Java: queryList for export", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2073"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2271", "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2271"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2355", "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2355"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2386", "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2386"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2397", "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2397"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2579", "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2579"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contact", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_customer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "crmcontract", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "crmcontract", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L672", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L672", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L692", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L692", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L737", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L771", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L775", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L804", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L828", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L900", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L904", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L912", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L925", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L939", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L948", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L948", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L966", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L966", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L966", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L966", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L972", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L972", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L972", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1148", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1148", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1148", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1251", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1251", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1251", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1357", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1357", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1381", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1400", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1400", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1443", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1443", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1473", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1500", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1500", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1546", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1546", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1574", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1604", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1604", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1617", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1617", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1659", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1659", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1803", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1803", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1803", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1840", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1840", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1849", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1849", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1849", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1895", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1895", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1895", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1922", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1953", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2012", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2012", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2066", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2066", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2066", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2083", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "crmcontractchange", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2083", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2083", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "crmcontracttemplate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2236", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2261", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2261", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2314", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2314", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2379", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2379", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2396", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2396", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2428", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2428", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "crmcontractchange", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2428", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2440", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2440", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2440", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2440", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2506", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2544", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2544", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2593", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2593", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2606", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2606", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2618", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2618", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2618", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2634", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2741", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2741", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2775", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2775", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2801", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2801", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2801", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L80", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L89", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L259", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L402", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L417", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L595", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L608", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L612", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L666", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L721", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L732", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L785", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L847", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L868", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L880", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L905", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L906", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L913", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L913", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L926", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L931", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L933", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L940", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L943", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L944", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L968", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1027", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1032", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1038", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1048", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1082", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1091", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1092", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1107", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1116", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1139", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1157", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1162", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1163", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1165", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1181", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1185", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1187", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1188", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "crmcontract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1194", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1201", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1202", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1215", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1231", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1248", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1268", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1274", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1275", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1276", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1283", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1300", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1307", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1315", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1324", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1354", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1368", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1389", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1412", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1418", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1458", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1483", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1509", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1532", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1558", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1583", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1611", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1669", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1718", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1735", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1742", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1775", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1826", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1859", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1872", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1876", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1919", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1980", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1983", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1989", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2023", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2058", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2062", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2075", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2077", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2213", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2233", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2292", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2297", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2299", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2326", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2332", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2336", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2363", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2365", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2387", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2463", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "crmcontractchange", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2478", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2487", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2503", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2515", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2533", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2554", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2580", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2594", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2607", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2624", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2631", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2642", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2648", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "crmcontracttemplate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2651", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2665", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2665", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2681", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2724", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2728", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2738", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2807", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L256", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L592", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_632", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L632", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_679", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L679", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_693", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L693", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_712", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_746", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L746", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_813", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L813", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_841", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L841", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1365", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1365", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1388", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1388", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1454", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1454", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1482", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1963", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1963", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2022", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2022", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2073", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2271", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2271", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2355", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2355", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2386", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2386", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2397", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2397", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2579", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2579", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "callee": "ensure_crm_owner_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L72", "receiver": "math"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "callee": "Decimal", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L78"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "date", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "SysUser", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L131", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L135", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "list_invoice_info_by_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "province", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L160"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "city", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "district", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L162"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L163"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L259", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L260", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L261", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L271", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L272", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L274", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L283", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L285", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L289", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L293", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L309", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L313", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L317", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L327", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L339", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L344", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L350", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L358", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L412", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L413", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L447", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L455", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L462", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L466", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L468", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L471"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L472", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L473"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L474", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L475"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L476", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L477"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L479"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L483", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L485", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L488", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L490", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L493", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L494", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L495", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L497", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L498", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L503", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L504", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L506", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L509", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L510", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L511", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L512", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L514", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L521", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L545", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L569", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L572", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L573", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L574", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L575", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L593", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L597", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L602", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L604", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L605", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L610", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L610", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L638", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L639", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L640", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L642", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L643", "receiver": "date_to_use"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L648", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L648", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L648", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L648"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L651", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L653", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L669", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L680", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L686", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L696", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L696", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L700", "receiver": "sign_date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L716", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L719", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L723", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L734", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L747", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L751", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L752", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L758", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L759", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L760", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L772", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "callee": "sub", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L772", "receiver": "re"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L772", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L801", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814", "receiver": "p"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814", "receiver": "p"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L818", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L819", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L820", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L821", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L822", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "callee": "discard", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L824", "receiver": "full_names"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L862", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "_with_no", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L864", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "endswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L870", "receiver": "user_raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "endswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L874", "receiver": "user_raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "_with_no", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L889", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L901", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L905", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L909", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L919"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L926", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L934", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L936", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L940", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L945", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "callee": "resolve_product_id_for_quote_item", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L956", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1064", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1067", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1069", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1074", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1079", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1085", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1087", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1092"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1094"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1096"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1098"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1100"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1102"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1110", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1115", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1122", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1128", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1131", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1135", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1137", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1158"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1159", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1167", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1169", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1171", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1173", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1180", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1181", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1183", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1189", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1191", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1193", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1195", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1232", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1233", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1236", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1246", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1247", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1264", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1266", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1290", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1292", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1302", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1303", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1303", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1316", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1320", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1323", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1337", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1338", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "delete_products_by_contract_id", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1341", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1343", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1353", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1372", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1373", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1375", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1377", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1391", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1395", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1397", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1414", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1416", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1426", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1427", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1430", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1439", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1485", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1487", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1494", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1495", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1496", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1511", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1513", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1518", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1519", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1534", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1536", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1541", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1542", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1560", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1562", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1565", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1569", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1570", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1585", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1588", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1589", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1595", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1599", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1613", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1627", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1629", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1630", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1642", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1643", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1648", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649", "receiver": "oss_ids"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1650", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1650", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "discard", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1651", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "update", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1652", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1653", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1654", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1655", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1668", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1671", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1674", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1676", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "loads", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1678", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1679"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1680"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1684", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1685", "receiver": "oss_id"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1687", "receiver": "existing_list"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1689", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1689", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1691", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1691", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1691", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1694", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1700", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "values", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1700", "receiver": "oss_index"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1701", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1702", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1727", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1727"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1742", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1742"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1747", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1747"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1754", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1755", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1756", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1757", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1758", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1770", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1770"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1772", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1772"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1791", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1804", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1804"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1806", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1806"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1828", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1858", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1858"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1864", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1864"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1869", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1869"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1871", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1872", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1875", "receiver": "grouped"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1879", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1879"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1883", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1904", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1905", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1907", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1907", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1907"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "isnot", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1912", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1916", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1925", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1927", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1927", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1928", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1928", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1929", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1929", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1930", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1930", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1931", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1931", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1932", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1932", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1933", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1933", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1934", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1934", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1935", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1936", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1937", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1938", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1939", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1940", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1940", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1941", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1941", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1942", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1943", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1943", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1944", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1944", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1945", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1946", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1947", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get_quote", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1964", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1966", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1969", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1970", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1972", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1973", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1975", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1977", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1982", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1985", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1986", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1999", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1999", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "CrmQuote", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1999"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2006", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2007", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2025", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2030", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2033", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2033", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2038", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2041", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2042", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2043", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2044", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2045", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2046", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2047", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2048", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2049", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2049", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2050", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2050", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2051", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2051", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2053", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2055", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2060", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2074", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2074"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2076", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2097", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2097"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2101", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2101"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2119", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2119"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2121", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2121", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2121", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2124", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2124", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2124", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2126", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2127", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2127", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2127", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2127", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2142", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2142", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2142"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2152", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2179", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2179"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2192", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2192"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2197", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2197"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2199", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2199", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2199", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2201", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2202", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2202", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2202", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2204", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2205", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2207", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2207", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2207", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2207", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2210", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2223", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2223", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2223"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2232", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2239", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2241", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2241", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2242", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2242", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2243", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2243", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2243", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2244", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2245", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2245", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2246", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2249", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2250", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2251", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2251", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2252", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2253", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2254", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2254", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2255", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2273", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "CrmOpportunity", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2273"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2282", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2285", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2286", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2287", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2289", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2296", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2309", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2310", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2328", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2330", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2333", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2340", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2341", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2357", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2358", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2360", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2373", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2375", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2389", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2390", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2390", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2392", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2398", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2398", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2401"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2407", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2419", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2419", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2425", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2430", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2430", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2430"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2441", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2441", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2445", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2446", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2451", "receiver": "name_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2451", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2463", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2465", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2468", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2470", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2471", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2473", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2475", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2477", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2479", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2481", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2501", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2502", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2517", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2518", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2539", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2540", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2561", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2562", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2564", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2566", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2582", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2584", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2588", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2589", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2596", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2601", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2602", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2611", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2613", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2614", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2642", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2644", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2650", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2652", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2679", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2680", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2694", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2694", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2694"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2703", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2704", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2736", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2737", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2752", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2752", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2752"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2762", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2766", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2767", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2769", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2771", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2784", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2784", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2784"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2793", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2796", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2797", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_auto_contract_name_body", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_framework_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_strip_contract_name_no_suffix", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_user_contract_name_uses_party_full_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/38bfbe51fdb8f5bc43c48fc0767e742edfc963761252f32e6868c4341e61af84.json b/backend/graphify-out/cache/ast/v0.9.4/38bfbe51fdb8f5bc43c48fc0767e742edfc963761252f32e6868c4341e61af84.json new file mode 100644 index 000000000..5baa4c903 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/38bfbe51fdb8f5bc43c48fc0767e742edfc963761252f32e6868c4341e61af84.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "label": "pl_paste_recognize_service.py", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "label": "_conflict_map()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L22"}, {"id": "conflictaction", "label": "ConflictAction", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "label": "_find_personnel_by_id_card()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L34"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "plpersonnel", "label": "PlPersonnel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "label": "_find_vehicle_by_plate()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L51"}, {"id": "plvehicle", "label": "PlVehicle", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "label": "_get_personnel()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L68"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "label": "_get_vehicle()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "label": "_resolve_personnel()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L100"}, {"id": "pastepersonnelin", "label": "PastePersonnelIn", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "label": "_resolve_vehicle()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L154"}, {"id": "pastevehiclein", "label": "PasteVehicleIn", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "label": "commit_paste_recognize()", "file_type": "code", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L222"}, {"id": "pastecommitbody", "label": "PasteCommitBody", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}, {"id": "pastecommitresult", "label": "PasteCommitResult", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "app_schemas_pl_base_data", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "app_schemas_pl_paste_recognize", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "app_services_pl_personnel_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "target": "conflictaction", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "target": "conflictaction", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "target": "plpersonnel", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "target": "plvehicle", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L68", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L68", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "target": "plpersonnel", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L68", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "target": "plvehicle", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L85", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "pastepersonnelin", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "conflictaction", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "pastevehiclein", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "conflictaction", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L154", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "pastecommitbody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "pastecommitresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L114", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "target": "plpersonnel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L193", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "target": "plvehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L204", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L230", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L267", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "target": "pastecommitresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/services/pl_paste_recognize_service.py", "source_location": "L314", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L25", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L29", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "callee": "upper", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L37", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L37", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L41", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L41", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "callee": "PlPersonnel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L41"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L54", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L58", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L58", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "callee": "PlVehicle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L58"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L72", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L72", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "callee": "PlPersonnel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L72"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L81", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L87", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L87", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "callee": "PlVehicle", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L87"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L96", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L110", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L112", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L116", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L122", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "upper", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L129", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L129", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L138", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L141", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "upper", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L142", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L142", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L149", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L150", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L163", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L165", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L166", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L167", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L170", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L170", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "PlCarrier", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L170"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L179", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L186", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L192", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L196", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L205", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L211", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L217", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L218", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "values", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L231", "receiver": "cmap"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L233", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L239", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L251", "receiver": "cmap"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L261", "receiver": "cmap"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L271", "receiver": "cmap"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L277", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "VehiclePersonnelRow", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L278", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L280", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L287", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "VehiclePersonnelRow", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L288", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L290", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L291", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "save_vehicle_personnel", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L309", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py", "source_location": "L312", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_commit_paste_recognize", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_conflict_map", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_personnel_by_id_card", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_find_vehicle_by_plate", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_personnel", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_get_vehicle", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_personnel", "users_wuzilong_work_00code_shanxia2_0_backend_app_services_pl_paste_recognize_service_resolve_vehicle"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/3f46aa8277a5a3ac9a73aebbf39a72ef64852d05e40af224633d2a50d0e82953.json b/backend/graphify-out/cache/ast/v0.9.4/3f46aa8277a5a3ac9a73aebbf39a72ef64852d05e40af224633d2a50d0e82953.json new file mode 100644 index 000000000..4d8df9c6e --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/3f46aa8277a5a3ac9a73aebbf39a72ef64852d05e40af224633d2a50d0e82953.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L48"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L52"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L75"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L83"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L101"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L138"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L245"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L249"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "label": "list_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L390"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "label": "get_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L424"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "label": "get_contract_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L529"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "label": "get_contract_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L566"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "label": "_build_contract_name_from_parties()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L579"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "label": "generate_contract_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L623"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "label": "contract_no_exists()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L670"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "label": "replace_contract_no_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L690"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L702"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "label": "resolve_party_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L735"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "label": "generate_contract_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L769"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L811"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L819"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L832"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L846"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L855"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L873"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L879"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "label": "create_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1055"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "label": "update_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1158"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "label": "soft_delete_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1264"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1288"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "label": "submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1307"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1350"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1380"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "label": "start_execute()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1407"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "label": "finish_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1430"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "label": "invalid_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1453"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "label": "save_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1481"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "label": "get_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1511"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "label": "upload_file()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1524"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "label": "upload_attachments()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1541"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1566"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1613"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "label": "statistics_by_status()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1676"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "label": "statistics_by_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1710"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "label": "_contract_period_key()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1745"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1754"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "label": "query_expiring()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1800"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1827"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "label": "create_from_quote()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1858"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "label": "renew_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1917"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "label": "export_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1971"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "label": "_change_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1988"}, {"id": "crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "label": "list_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2010"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "label": "get_contract_change_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2039"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "label": "_template_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2063"}, {"id": "crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "label": "list_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2088"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "label": "get_contract_template_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2121"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2141"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "label": "create_from_opportunity()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2166"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "label": "sign_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2219"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "label": "batch_assign_owner()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2250"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "label": "download_contract_pdf()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2284"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "label": "generate_template_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2301"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "label": "_get_change_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2333"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "label": "_enrich_change_rows()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2345"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "label": "create_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2360"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "label": "update_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2411"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2449"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "label": "submit_change_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2475"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "label": "withdraw_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2498"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "label": "execute_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2511"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "label": "export_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2523"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "label": "create_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2539"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "label": "update_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2589"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2646"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2680"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "label": "export_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2706"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_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": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "label": "ORM \u2192 camelCase\uff08\u5355\u70b9\u771f\u76f8\uff09", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L169"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L256"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "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": "app/crud/crm/contract.py", "source_location": "L592"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "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": "app/crud/crm/contract.py", "source_location": "L630"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_677", "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": "app/crud/crm/contract.py", "source_location": "L677"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_691", "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": "app/crud/crm/contract.py", "source_location": "L691"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_710", "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": "app/crud/crm/contract.py", "source_location": "L710"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_744", "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": "app/crud/crm/contract.py", "source_location": "L744"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_782", "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", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L782"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1272", "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1272"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1295", "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": "app/crud/crm/contract.py", "source_location": "L1295"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1361", "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1361"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1389", "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1389"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1868", "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1868"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1927", "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1927"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1978", "label": "Java: queryList for export", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1978"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2176", "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2176"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2260", "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2260"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2291", "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2291"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2302", "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2302"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2484", "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2484"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contact", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_customer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "crmcontract", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "crmcontract", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L670", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L670", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L690", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L702", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L735", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L769", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L811", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L819", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L832", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L846", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L855", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L855", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L873", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L873", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L873", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L873", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L879", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1055", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1055", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1055", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1158", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1264", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1264", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1288", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1288", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1288", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1307", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1307", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1350", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1350", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1380", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1380", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1407", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1407", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1430", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1430", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1453", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1453", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1481", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1481", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1524", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1524", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1613", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1613", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1613", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1676", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1676", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1676", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1710", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1710", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1710", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1745", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1745", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1754", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1754", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1754", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1800", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1800", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1800", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1827", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1858", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1858", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1917", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1917", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1971", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1971", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1971", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1988", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "crmcontractchange", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1988", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1988", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2010", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2010", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2010", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2039", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2039", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2039", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "crmcontracttemplate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2063", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2088", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2088", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2088", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2121", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2121", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2121", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2141", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2166", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2166", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2219", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2250", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2250", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2284", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2284", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2301", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2333", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2333", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "crmcontractchange", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2333", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2345", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2360", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2411", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2449", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2449", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2475", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2475", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2498", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2511", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2523", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2539", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2539", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2539", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2589", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2589", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2589", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2646", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2646", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2680", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2680", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2706", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L80", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L89", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L259", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L402", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L417", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L595", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L606", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L610", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L664", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L719", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L730", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L784", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L812", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L820", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L833", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L838", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L840", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L847", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L850", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L851", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L875", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L934", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L939", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L945", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L955", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L989", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L998", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L999", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1014", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1023", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1046", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1064", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1069", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1070", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1071", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1072", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1088", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1092", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1094", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1095", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "crmcontract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1108", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1109", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1126", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1175", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1181", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1182", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1190", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1207", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1214", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1222", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1231", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1261", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1275", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1296", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1319", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1325", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1365", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1416", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1439", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1465", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1490", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1518", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1532", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1551", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1576", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1625", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1642", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1649", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1682", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1731", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1764", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1777", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1781", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1784", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1824", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1885", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1888", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1894", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1928", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1963", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1967", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1980", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1982", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2036", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2060", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2118", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2197", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2202", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2204", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2231", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2237", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2268", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2270", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2292", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2368", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "crmcontractchange", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2383", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2408", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2420", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2438", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2442", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2459", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2485", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2499", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2512", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2536", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2547", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2553", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "crmcontracttemplate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2556", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2570", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2586", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2629", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2633", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2643", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L256", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L592", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L630", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_677", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L677", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_691", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L691", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_710", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L710", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_744", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L744", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_782", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L782", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1272", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1295", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1295", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1361", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1361", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1389", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1389", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1868", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1868", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1927", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1927", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1978", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1978", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2176", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2176", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2260", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2260", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2291", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2291", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2302", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2302", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2484", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2484", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "callee": "ensure_crm_owner_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L72", "receiver": "math"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "callee": "Decimal", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L78"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "date", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "SysUser", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L131", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L135", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "list_invoice_info_by_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "province", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L160"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "city", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "district", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L162"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L163"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L259", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L260", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L261", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L271", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L272", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L274", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L283", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L285", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L289", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L293", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L309", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L313", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L317", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L327", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L339", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L344", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L350", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L358", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L412", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L413", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L447", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L455", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L462", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L466", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L468", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L471"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L472", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L473"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L474", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L475"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L476", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L477"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L479"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L483", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L485", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L488", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L490", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L493", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L494", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L495", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L497", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L498", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L503", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L504", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L506", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L509", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L510", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L511", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L512", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L514", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L521", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L545", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L569", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L572", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L573", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L574", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L575", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L593", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L597", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L602", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L604", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L605", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L636", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L637", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L638", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L640", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L641", "receiver": "date_to_use"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L649", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L651", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L667", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L678", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L684", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L694", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L694", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L697", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L698", "receiver": "sign_date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L714", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L717", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L721", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L723", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L726", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L732", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L745", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L749", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L750", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L756", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L757", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L758", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L783", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L800", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "sub", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805", "receiver": "re"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L805", "receiver": "user_contract_name"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L812", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L816", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L820", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L826"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L833", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L841", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L843", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L847", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L852", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "callee": "resolve_product_id_for_quote_item", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L863", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L971", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L974", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L976", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L981", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L986", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L992", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L994", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L999"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1001"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1003"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1005"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1007"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1009"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1011"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1017", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1022", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1029", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1035", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1038", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1042", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1044", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1065"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1066", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1074", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1076", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1078", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1080", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1087", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1088", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1090", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1096", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1098", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1100", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1102", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1139", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1140", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1143", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1153", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1154", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1171", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1173", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1186", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1197", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1199", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1209", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1210", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1223", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1227", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1230", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1244", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1245", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "delete_products_by_contract_id", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1248", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1250", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1260", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1280", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1282", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1284", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1298", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1299", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1302", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1304", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1321", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1323", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1333", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1334", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1337", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1346", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1392", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1394", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1401", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1402", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1403", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1418", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1420", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1425", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1426", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1441", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1443", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1448", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1449", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1463", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1464", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1467", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1469", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1472", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1476", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1477", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1492", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1495", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1496", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1502", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1506", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1507", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1520", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1534", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1536", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1537", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1549", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1550", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1553", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1555", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556", "receiver": "oss_ids"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1556", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1557", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1557", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "discard", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1558", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "update", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1559", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1560", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1561", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1562", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1575", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1578", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1581", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1583", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "loads", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1585", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1586"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1587"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1591", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1592", "receiver": "oss_id"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1594", "receiver": "existing_list"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1596", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1596", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1601", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1607", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "values", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1607", "receiver": "oss_index"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1608", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1609", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1622", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1622"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1634", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1634"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1649"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1654", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1654"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1661", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1662", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1663", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1664", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1665", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1677", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1677"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1679", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1679"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1698", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1711", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1711"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1713", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1713"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1733", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1747", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1751", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1763", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1763"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1769", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1769"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1774", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1774"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1776", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1777", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1780", "receiver": "grouped"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1784", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1784"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1788", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1809", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1810", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1812", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1812", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1812"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "isnot", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1817", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1821", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1830", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1832", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1832", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1833", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1833", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1834", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1834", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1835", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1835", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1836", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1836", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1838", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1838", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1839", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1839", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1840", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1841", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1843", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1844", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1845", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1845", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1847", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1850", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1851", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1852", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get_quote", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1869", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1871", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1874", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1875", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1877", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1878", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1880", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1882", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1887", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1890", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1891", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1904", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1904", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "CrmQuote", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1904"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1911", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1912", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1930", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1934", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1935", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1936", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1937", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1938", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1938", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1943", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1946", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1947", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1948", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1949", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1950", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1951", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1952", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1953", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1954", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1954", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1955", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1955", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1956", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1956", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1958", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1960", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1965", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1979", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1979"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1981", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2002"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2006", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2006"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2019", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2019"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2024", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2024"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2029", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2032", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2035", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2047", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2047", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2047"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2056", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2057", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2084", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2084"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2097", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2097"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2102", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2102"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2104", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2104", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2104", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2107", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2107", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2107", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2109", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2110", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2115", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2115", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2115", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2115", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2115", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2128", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2128"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2137", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2144", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2146", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2146", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2147", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2147", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2151", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2152", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2153", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2154", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2155", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2156", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2156", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2157", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2160", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2178", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2178", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "CrmOpportunity", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2178"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2187", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2190", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2191", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2192", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2194", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2201", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2214", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2215", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2233", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2235", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2245", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2246", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2262", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2263", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2265", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2278", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2280", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2294", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2295", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2295", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2303", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2303", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2306", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2306", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2306", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2306"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2310", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2312", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2324", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2324", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2330", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2335"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2346", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2346", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2350", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2351", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2356", "receiver": "name_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2356", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2368", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2370", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2373", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2375", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2376", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2378", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2380", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2382", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2384", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2386", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2406", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2407", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2422", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2423", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2427", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2444", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2445", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2462", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2466", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2467", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2469", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2471", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2487", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2489", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2493", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2494", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2501", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2503", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2506", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2507", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2514", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2516", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2518", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2519", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2547", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2549", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2551", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2555", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2584", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2585", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2599", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2599", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2599"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2608", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2609", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2641", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2642", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2657", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2657", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2657"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2667", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2671", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2672", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2674", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2676", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2689", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2689", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2689"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2698", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2701", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2702", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/69bc7d7ead223c34143e56ed7eb1381b48e07fef4b74b4dd83365e8cca1edab8.json b/backend/graphify-out/cache/ast/v0.9.4/69bc7d7ead223c34143e56ed7eb1381b48e07fef4b74b4dd83365e8cca1edab8.json new file mode 100644 index 000000000..e1ce22ae3 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/69bc7d7ead223c34143e56ed7eb1381b48e07fef4b74b4dd83365e8cca1edab8.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "label": "paste_recognize.py", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_conflictaction", "label": "ConflictAction", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L7"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastepersonnelin", "label": "PastePersonnelIn", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L15"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastevehiclein", "label": "PasteVehicleIn", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L24"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitbody", "label": "PasteCommitBody", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L34"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitresult", "label": "PasteCommitResult", "file_type": "code", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_rationale_1", "label": "\u8fd0\u8f93\u8ba1\u5212 - \u4e09\u65b9\u7c98\u8d34\u8bc6\u522b\u63d0\u4ea4 Schema", "file_type": "rationale", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_conflictaction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_conflictaction", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastepersonnelin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastepersonnelin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastevehiclein", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastevehiclein", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitbody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitbody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/schemas/pl/paste_recognize.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_conflictaction", "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitbody", "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastecommitresult", "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastepersonnelin", "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_pl_paste_recognize_pastevehiclein"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/9a59bc109ddc024a07b33b7392a05d483860e2214950a5e3552dee57e207be2f.json b/backend/graphify-out/cache/ast/v0.9.4/9a59bc109ddc024a07b33b7392a05d483860e2214950a5e3552dee57e207be2f.json new file mode 100644 index 000000000..8cb755262 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/9a59bc109ddc024a07b33b7392a05d483860e2214950a5e3552dee57e207be2f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "label": "test_crm_contract_name_from_parties.py", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "label": "test_resolve_matches_supplier_exact_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "label": "test_resolve_matches_customer_exact_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "label": "test_resolve_matches_customer_invoice_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L32"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "label": "test_resolve_fallback_to_party_full_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L46"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "label": "test_resolve_does_not_fuzzy_match_short_inside_longer_name()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L59"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "label": "test_generate_empty_uses_party_order_after_swap()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L73"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "label": "test_generate_empty_default_party_order()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L88"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "label": "test_generate_purchase_does_not_reverse_party_order()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L102"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "label": "test_generate_user_name_keeps_body_and_syncs_no()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_full_party_name_in_user_input_is_replaced_by_short", "label": "test_generate_full_party_name_in_user_input_is_replaced_by_short()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L131"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_renewal_name_is_preserved", "label": "test_generate_renewal_name_is_preserved()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "label": "test_generate_fallback_when_parties_blank()", "file_type": "code", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L160"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_1", "label": "\u5408\u540c\u540d\u79f0\u6309\u4f9b\u9700\u65b9\u9762\u677f\uff08partyA/partyB\uff09\u89e3\u6790\u7b80\u79f0\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_60", "label": "\u907f\u514d\u300c\u5c71\u5ce1\u300d\u5b50\u4e32\u8bef\u5339\u914d\u5ba2\u6237\u5168\u79f0\u4e2d\u7684\u5c71\u5ce1\u4e8c\u5b57\u5230\u4ea4\u6613\u4e3b\u4f53\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L60"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_74", "label": "\u8c03\u6362\u540e\u4f9b\u65b9=\u8f89\u9686\u3001\u9700\u65b9=\u5c71\u5ce1 \u2192 \u8f89\u9686-\u5c71\u5ce1\uff08\u7f16\u53f7\uff09\uff0c\u4e0d\u56e0\u7c7b\u578b\u53cd\u5e8f\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L74"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_132", "label": "\u524d\u7aef\u8bef\u4f20\u5168\u79f0\u65f6\uff0c\u540e\u7aef\u6309\u4e3b\u6570\u636e\u7b80\u79f0\u91cd\u7b97\uff08\u534e\u5c14\u6cf0\u751f\u4ea7\u6848\u4f8b\uff09\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L132"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "app_crud_crm_contract", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L46", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L73", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L88", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L102", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_full_party_name_in_user_input_is_replaced_by_short", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L131", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_renewal_name_is_preserved", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_60", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L60", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_74", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L74", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_rationale_132", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_full_party_name_in_user_input_is_replaced_by_short", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_name_from_parties.py", "source_location": "L132", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L8", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L21", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L34", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L48", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "callee": "resolve_party_short_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L62", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L75", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L89", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L103", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L118", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_full_party_name_in_user_input_is_replaced_by_short", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L133", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_renewal_name_is_preserved", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "callee": "generate_contract_name", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py", "source_location": "L161", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_default_party_order", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_empty_uses_party_order_after_swap", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_fallback_when_parties_blank", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_full_party_name_in_user_input_is_replaced_by_short", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_purchase_does_not_reverse_party_order", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_renewal_name_is_preserved", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_generate_user_name_keeps_body_and_syncs_no", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_does_not_fuzzy_match_short_inside_longer_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_fallback_to_party_full_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_exact_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_customer_invoice_name", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_name_from_parties_test_resolve_matches_supplier_exact_name"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/c74f02d4dc391a4a35e4810c57fdd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce.json b/backend/graphify-out/cache/ast/v0.9.4/c74f02d4dc391a4a35e4810c57fdd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce.json new file mode 100644 index 000000000..419afe003 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/c74f02d4dc391a4a35e4810c57fdd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "label": "contract_product.py", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L21"}, {"id": "crmcontractproduct", "label": "CrmContractProduct", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "label": "_tier_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L54"}, {"id": "crmcontractproductpricetier", "label": "CrmContractProductPriceTier", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "label": "list_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L78"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L122"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L130"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L137"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "label": "calculate_subtotal()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "label": "_letter_oss_ids_to_json()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L164"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "label": "insert_contract_product()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L174"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "label": "batch_insert_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L262"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "label": "delete_price_tiers_by_contract_id()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L310"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "label": "delete_products_by_contract_id()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L327"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "label": "save_price_tiers_for_product()", "file_type": "code", "source_file": "app/crud/crm/contract_product.py", "source_location": "L343"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_1", "label": "CRM \u5408\u540c\u4ea7\u54c1\u660e\u7ec6 CRUD \u2014 \u5bf9\u7167 CrmContractProductServiceImpl.java", "file_type": "rationale", "source_file": "app/crud/crm/contract_product.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_328", "label": "Java: deleteByContractId \u2014 \u8f6f\u5220\u9664\u4ea7\u54c1\u660e\u7ec6\u53ca\u8c03\u4ef7\u533a\u95f4", "file_type": "rationale", "source_file": "app/crud/crm/contract_product.py", "source_location": "L328"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_353", "label": "Java: savePriceTiersForProduct", "file_type": "rationale", "source_file": "app/crud/crm/contract_product.py", "source_location": "L353"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "app_crud_crm_quote_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "app_services_crm_supplier_hazard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "target": "crmcontractproduct", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L54", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "target": "crmcontractproductpricetier", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L54", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L54", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L78", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L78", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L78", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L122", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L130", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L137", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L155", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L164", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L174", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L174", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "crmcontractproduct", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L174", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "target": "crmcontractproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L310", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L327", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L327", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L343", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L97", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L114", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L127", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L143", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L189", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "crmcontractproduct", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L196", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L212", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L282", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L295", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L297", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L329", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L359", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L359", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "crmcontractproductpricetier", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L371", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_328", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L328", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_rationale_353", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_product.py", "source_location": "L353", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L41", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L41"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L49"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L56", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "loads", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L59", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L60"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L68", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L68"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L69", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L69"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "_get_contract_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L89", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L90", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "CrmContractProduct", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L90"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L96", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L96", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L96", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L100", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L101", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "CrmContractProductPriceTier", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L101"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L103", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L108", "receiver": "tier_q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L109", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L110", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L114", "receiver": "tier_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L116", "receiver": "tier_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "callee": "enrich_products_with_hazard_flags", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L118", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "callee": "Decimal", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L125"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "date", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L140"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L140"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L142"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L144", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L147"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L147"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L149", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L167"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L168", "receiver": "letter_oss_ids"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L169"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L170", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L191", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L193", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L195", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L197", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "get_product", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L229", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L241", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L245", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "_resolve_line_brand_fields", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L247", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L257", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L258", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L279", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "callee": "pop", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L281", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L290", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L306", "receiver": "entities"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L312", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "callee": "CrmContractProductPriceTier", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L312"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L319", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L323", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L331", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "callee": "CrmContractProduct", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L331"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L335", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L339", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L356", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L362", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L365", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L384", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py", "source_location": "L385", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_batch_insert_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_calculate_subtotal", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_decimal_value", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_price_tiers_by_contract_id", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_delete_products_by_contract_id", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_get_field", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_insert_contract_product", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_letter_oss_ids_to_json", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_list_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_parse_optional_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_save_price_tiers_for_product", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_product_tier_row_to_dict"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/d97668b63b513d8b42809522f685db6266d93099e61fa808684126f63c7c127f.json b/backend/graphify-out/cache/ast/v0.9.4/d97668b63b513d8b42809522f685db6266d93099e61fa808684126f63c7c127f.json new file mode 100644 index 000000000..0d2105062 --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/d97668b63b513d8b42809522f685db6266d93099e61fa808684126f63c7c127f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L48"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L52"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L75"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L83"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L101"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L138"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L245"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L249"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "label": "list_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L390"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "label": "get_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L424"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "label": "get_contract_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L529"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "label": "get_contract_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L549"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "label": "_get_supplier_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L566"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "label": "_build_contract_name_from_parties()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L579"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "label": "generate_contract_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L623"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "label": "contract_no_exists()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L672"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "label": "replace_contract_no_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L692"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "label": "align_contract_no_to_sign_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L704"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "label": "resolve_party_short_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L737"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "label": "generate_contract_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L771"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "label": "_validate_contract_type_and_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L813"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "label": "_normalize_framework_contract_data()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L821"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "label": "_validate_product_prices_by_contract_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L834"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "label": "_validate_sale_purchase_contract_amount()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L848"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "label": "_resolve_contract_product_ids()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L857"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "label": "_calc_amount_with_tax()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L875"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "label": "_apply_contract_entity_fields()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L881"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "label": "create_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1057"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "label": "update_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1160"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "label": "soft_delete_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1266"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "label": "validate_framework_contract_for_submit_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1290"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "label": "submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1309"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "label": "batch_submit_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1352"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "label": "withdraw_contract_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1382"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "label": "start_execute()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1409"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "label": "finish_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1432"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "label": "invalid_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1455"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "label": "save_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1483"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "label": "get_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1513"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "label": "upload_file()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1526"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "label": "upload_attachments()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1543"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "label": "upload_attachments_with_category()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1568"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "label": "statistics_overview()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1615"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "label": "statistics_by_status()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1678"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "label": "statistics_by_type()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1712"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "label": "_contract_period_key()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1747"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "label": "statistics_trend()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1756"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "label": "query_expiring()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1802"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "label": "_quote_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1829"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "label": "create_from_quote()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1860"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "label": "renew_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1919"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "label": "export_contracts()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1973"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "label": "_change_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1990"}, {"id": "crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "label": "list_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2012"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "label": "get_contract_change_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2041"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "label": "_template_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2065"}, {"id": "crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "label": "list_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2090"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "label": "get_contract_template_detail()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2123"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "label": "_opportunity_products_to_contract_products()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2143"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "label": "create_from_opportunity()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "label": "sign_contract()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2221"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "label": "batch_assign_owner()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2252"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "label": "download_contract_pdf()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2286"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "label": "generate_template_no()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2303"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "label": "_get_change_row()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2335"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "label": "_enrich_change_rows()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2347"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "label": "create_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2362"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "label": "update_contract_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2413"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "label": "soft_delete_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2451"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "label": "submit_change_approval()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2477"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "label": "withdraw_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2500"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "label": "execute_change()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2513"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "label": "export_contract_changes()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2525"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "label": "create_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2541"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "label": "update_contract_template()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2591"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "label": "soft_delete_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2648"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "label": "toggle_contract_template_active()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2682"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "label": "export_contract_templates()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L2708"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_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": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "label": "ORM \u2192 camelCase\uff08\u5355\u70b9\u771f\u76f8\uff09", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L169"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "label": "Java: buildQueryWrapper", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L256"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "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": "app/crud/crm/contract.py", "source_location": "L592"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "label": "Java: generateContractNo \u2014 {\u4f9b\u65b9\u7f16\u7801}/X-JT{yyyyMMdd}{3\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L630"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_679", "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": "app/crud/crm/contract.py", "source_location": "L679"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_693", "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": "app/crud/crm/contract.py", "source_location": "L693"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_712", "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": "app/crud/crm/contract.py", "source_location": "L712"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_746", "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": "app/crud/crm/contract.py", "source_location": "L746"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_784", "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", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L784"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1274", "label": "Java: deleteWithValidByIds \u2014 \u8f6f\u5220\u9664", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1274"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1297", "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": "app/crud/crm/contract.py", "source_location": "L1297"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1363", "label": "Java: batchSubmitApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1363"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1391", "label": "Java: withdrawApproval", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1391"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1870", "label": "Java: createFromQuote \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1870"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1929", "label": "Java: renewContract \u2014 \u57fa\u7840\u7eed\u7b7e", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1929"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1980", "label": "Java: queryList for export", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L1980"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2178", "label": "Java: createFromOpportunity \u2014 \u8fd4\u56de\u5408\u540c id", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2178"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2262", "label": "Java: batchAssignOwner", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2262"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2293", "label": "Java: downloadContractPdf \u2014 \u8fd4\u56de\u5408\u540c\u6587\u4ef6 URL/\u8def\u5f84", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2293"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2304", "label": "Java: generateTemplateNo \u2014 TMPL{yyyyMMdd}{4\u4f4d\u5e8f\u53f7}", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2304"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2486", "label": "Java Controller TODO \u2014 \u4fdd\u6301 pending\uff0c\u8bb0\u5f55\u5907\u6ce8", "file_type": "rationale", "source_file": "app/crud/crm/contract.py", "source_location": "L2486"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_contact", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L24", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_customer", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L30", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L34", "weight": 1.0}, {"source": "users_wuzilong_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": "app/crud/crm/contract.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L48", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "crmcontract", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L69", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L75", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L101", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L117", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L134", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L138", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L146", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L156", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L245", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "query", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L249", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L390", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L424", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L529", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "target": "crmcontract", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L566", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L579", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L623", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L672", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L672", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L692", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L692", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L704", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L737", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L771", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L813", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L821", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L834", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L848", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L857", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L857", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L875", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L875", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L875", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L875", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L881", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1057", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1057", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1057", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1266", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1266", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "crmcontract", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1290", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1309", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1309", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1352", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1352", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1382", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1382", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1432", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1432", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1455", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1483", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1483", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1526", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1526", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1543", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1543", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1568", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1568", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1615", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1615", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1615", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1678", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1678", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1678", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1747", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1747", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1756", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1756", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1756", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1802", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1802", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1802", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1829", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1860", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1860", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1919", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1919", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1973", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1973", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1973", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1990", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "crmcontractchange", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1990", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1990", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2012", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2012", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2012", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2041", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2041", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2041", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2065", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "crmcontracttemplate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2065", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2065", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2090", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2090", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2090", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2123", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2143", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2168", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2221", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2221", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2252", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2252", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2286", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2303", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2303", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2335", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2335", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "target": "crmcontractchange", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2335", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2347", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2362", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2362", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2362", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2413", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2413", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2413", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2451", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2451", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2477", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2477", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2500", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2500", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2513", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2525", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2525", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2525", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2541", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2591", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2591", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2591", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2648", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2648", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2682", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2682", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2708", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2708", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2708", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L80", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L89", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L160", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L246", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L259", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L364", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L378", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L402", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L409", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L417", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L446", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L447", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L466", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L482", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L491", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L537", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L595", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L606", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L610", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L721", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L732", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L786", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L814", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L822", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L835", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L840", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L842", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L849", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L852", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L853", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L877", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L936", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L941", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L947", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L957", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L991", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1000", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1001", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1016", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1025", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1048", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1066", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1071", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1072", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1073", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1074", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1090", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1094", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1096", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1097", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "crmcontract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1103", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1110", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1111", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1124", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1128", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1140", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1157", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1171", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1177", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1183", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1184", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1185", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1186", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1192", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1209", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1216", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1224", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1233", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1263", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1277", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1298", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1321", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1327", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1367", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1392", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1418", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1441", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1467", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1492", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1520", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1534", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1553", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1578", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1627", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1644", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1651", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1684", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1733", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1766", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1779", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1783", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1786", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1826", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1887", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1890", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1896", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1930", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1965", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1969", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1982", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1984", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2038", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2062", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2120", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2140", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2199", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2204", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2206", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2233", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2239", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2243", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2270", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2272", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2294", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2370", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2373", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "crmcontractchange", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2385", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2394", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2410", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2422", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2440", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2444", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2448", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2461", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2487", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2501", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2514", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2531", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2538", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2549", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2555", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "crmcontracttemplate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2558", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2572", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2572", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2588", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2631", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2635", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2645", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2714", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_169", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L169", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_256", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L256", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_592", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L592", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_630", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L630", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_679", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L679", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_693", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L693", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_712", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L712", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_746", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L746", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_784", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L784", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1274", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1274", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1297", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1297", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1363", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1363", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1391", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1391", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1870", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1870", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1929", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1929", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_1980", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L1980", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2178", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2178", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2262", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2262", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2293", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2293", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2304", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2304", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_rationale_2486", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract.py", "source_location": "L2486", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "callee": "ensure_crm_owner_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L49", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L61", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "callee": "ceil", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L72", "receiver": "math"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "callee": "Decimal", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L78"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "date", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L86"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L88"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L93"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L95", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "datetime", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L109"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L111", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L125", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "SysUser", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L128"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L131", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L135", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L140", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "list_invoice_info_by_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L147", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L151", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "province", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L160"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "city", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L161"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "district", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L162"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L163"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L165", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L193"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L194"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L195"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_DATE_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L196"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L234"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L238"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L240"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L259", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L260", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L261", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "or_", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L271", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L272", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L273", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L274", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L279", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L283", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L285", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L289", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L293", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L309", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L313", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L317", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L327", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L328", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L339", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L344", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "distinct", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L347", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L350", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L358", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L387", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L401"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L404"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L405", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L408", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L412", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L413", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L416", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L418", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L434"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L447", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L448", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L449", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L452", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L455", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L460", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L462", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L466", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L467"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L468", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L469"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L470", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L471"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L472", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L473"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L474", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L475"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L476", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L477"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L478", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L479"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L483", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L485", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L488", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L490", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L493", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L494", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L495", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L497", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L498", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L502", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L503", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L504", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L506", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L509", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L510", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L511", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L512", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L514", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L521", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "callee": "can_user_approve", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L545", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L556"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L569", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L572", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L573", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L574", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L575", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L593", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L594"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L597", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L598", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L602", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L604", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L605", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L608", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L633", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L634", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L635", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L637", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L638", "receiver": "date_to_use"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L642", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L642", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L642", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L642"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L646", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L648", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L662", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L662", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L669", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L680", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L686", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L696", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L696", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L699", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L700", "receiver": "sign_date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L716", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L719", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L723", "receiver": "contract_no"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "match", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L725", "receiver": "_CONTRACT_NO_STD_RE"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "group", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L728", "receiver": "m"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L734", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L747", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L751", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L752", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L758", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L759", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L760", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L785", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L802", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "sub", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L807", "receiver": "re"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L807", "receiver": "user_contract_name"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L814", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L818", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L822", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L828"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L835", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L843", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L845", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L849", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L854", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "callee": "resolve_product_id_for_quote_item", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L865", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L973", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_customer", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L976", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L978", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_contact", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L983", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L988", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L994", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get_supplier_info", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L996", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1001"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "supplier_address", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1003"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "legal_person", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1005"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "agent", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1007"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "phone_fax", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1009"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_name", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1011"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "bank_account", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1013"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1019", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1024", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1031", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1037", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1040", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1044", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1046", "receiver": "inv"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1067"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1068", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1076", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1078", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1080", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1082", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1089", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1090", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1092", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1098", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1100", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1102", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1104", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1141", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1142", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1145", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1155", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1156", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1173", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1175", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1188", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1199", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "assert_products_allowed_for_supplier", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1201", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1211", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1212", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1212", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1225", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1229", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1232", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1246", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1247", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "delete_products_by_contract_id", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1250", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "batch_insert_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1252", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1262", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1281", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1282", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1284", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1286", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1300", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1301", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1304", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1306", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1323", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1325", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1335", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "flush", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1336", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "create_approval_records", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1339", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1348", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1394", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1396", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1403", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "delete_pending_approvals", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1404", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1405", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1420", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1422", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1427", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1428", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1443", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1445", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1450", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1451", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1465", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1466", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1469", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1471", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1474", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1478", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1479", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1494", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1497", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1498", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1504", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1508", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1509", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1522", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1536", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1538", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1539", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1551", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1552", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1555", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1557", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1558", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1558", "receiver": "oss_ids"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1558", "receiver": "x"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1559", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1559", "receiver": "existing"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "discard", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1560", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "update", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1561", "receiver": "merged"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1562", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1563", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1564", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1577", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1580", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1583", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "startswith", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1585", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "loads", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1587", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1588"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1589"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1593", "receiver": "raw"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1594", "receiver": "oss_id"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1596", "receiver": "existing_list"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1598", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1600", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1603", "receiver": "att"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "dumps", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1609", "receiver": "json"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "values", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1609", "receiver": "oss_index"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1610", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1611", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1624", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1624"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1636", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1636"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1651", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1651"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1656", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1656"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1663", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1664", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1665", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1666", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "callee": "_count", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1667", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1679", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1679"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1681", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1681"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1700", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1713", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1713"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1715"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1735", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1749", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1753", "receiver": "dt"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1765", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1765"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "apply_crm_owner_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1771", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1771"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1776", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1776"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1778", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1779", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "items", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1782", "receiver": "grouped"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "quantize", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "ROUND_HALF_UP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1786"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1790", "receiver": "result"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "today", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1811", "receiver": "date"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1812", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1814", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1814", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1814"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "isnot", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1819", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1823", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1832", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1834", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1834", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1835", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1835", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1836", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1836", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1837", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1838", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1838", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1839", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1839", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1840", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1840", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1841", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1841", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1842", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1843", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1844", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1845", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1846", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1847", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1847", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1848", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1849", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1850", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1850", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1851", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1851", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1852", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1853", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1854", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get_quote", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1871", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1873", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1876", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1877", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1879", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1880", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1882", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1884", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "list_quote_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1889", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1892", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1893", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1906", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1906", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "CrmQuote", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1906"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1913", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1914", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1932", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1936", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1937", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1938", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1939", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1940", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1940", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1945", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1948", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1949", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1950", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1951", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1952", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1953", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1954", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1955", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1956", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1956", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1957", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1957", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1958", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1958", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1960", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1962", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "callee": "list_contract_products", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1967", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1981", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "CrmContract", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1981"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L1983", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2004", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2004"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2008", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2008"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2021", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2021"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2026"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2028", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2028", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2028", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2031", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2033", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2034", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2037", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2037", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2037", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2037", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2049", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2049", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2049"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2058", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2059", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2086", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "callee": "_FMT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2086"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2099", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2099"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "apply_crm_create_by_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2104", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2104"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2106", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2106", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2106", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2108", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2109", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2109", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2109", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2111", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2112", "receiver": "filters"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "scalar", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "with_entities", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "count", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2114", "receiver": "func"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "limit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "offset", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": "q"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "asc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2117", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2130"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2139", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2146", "receiver": "rows"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2148", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2149", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2150", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2151", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2151", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2152", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2152", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2153", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2154", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2155", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2156", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2157", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2158", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2159", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2160", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2161", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2161", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2162", "receiver": "item"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2180", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2180", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "CrmOpportunity", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2180"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2189", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2192", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2193", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2194", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2196", "receiver": "payload"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "list_products_by_opportunity", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2203", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2216", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2217", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2235", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2237", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2240", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2247", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2248", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2264", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2265", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2267", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2280", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2282", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2296", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2297", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2297", "receiver": "detail"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2299", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2305", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2305", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2308", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2308", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2308", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2308"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "like", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2312", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2314", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2326", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2326", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2332", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2337", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2337", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "callee": "CrmContractChange", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2337"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2348", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2348", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2352", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "in_", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2353", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2358", "receiver": "name_map"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "callee": "get", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2358", "receiver": "row"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2370", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2372", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2375", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2377", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2378", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2380", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2382", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2384", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2386", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2388", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2408", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2409", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2424", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2425", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2429", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2446", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2447", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2464", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2468", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2469", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2471", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2473", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2489", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2491", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2495", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2496", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2503", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2505", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2508", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2509", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2516", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2518", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2520", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2521", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2549", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2551", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2553", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2557", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2559", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "add", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2586", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2587", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2601", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2601", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2601"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2610", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2611", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2643", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2644", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2659", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2659", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2659"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ensure_crm_create_by_row_in_scope", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2669", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2673", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2674", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2676", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2678", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "first", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2691", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "query", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2691", "receiver": "db"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "CrmContractTemplate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2691"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2700", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "now", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2703", "receiver": "datetime"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "callee": "commit", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py", "source_location": "L2704", "receiver": "db"}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_align_contract_no_to_sign_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_apply_contract_entity_fields", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_assign_owner", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_batch_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_name_from_parties", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_calc_amount_with_tax", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_change_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_no_exists", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_period_key", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_opportunity", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_create_from_quote", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_download_contract_pdf", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_enrich_change_rows", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_execute_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_export_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_finish_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_contract_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_generate_template_no", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_change_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_change_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_template_detail", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_supplier_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_invalid_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_normalize_framework_contract_data", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_opportunity_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_query_expiring", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_quote_products_to_contract_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_renew_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_replace_contract_no_date", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_contract_product_ids", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_party_short_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_save_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_sign_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_changes", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contract_templates", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_soft_delete_contracts", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_start_execute", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_status", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_by_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_overview", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_statistics_trend", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_change_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_submit_contract_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_template_row_to_dict", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_toggle_contract_template_active", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_update_contract_template", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_attachments_with_category", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_upload_file", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_contract_type_and_products", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_framework_contract_for_submit_approval", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_product_prices_by_contract_type", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_validate_sale_purchase_contract_amount", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_change", "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_withdraw_contract_approval"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/v0.9.4/ff831959d54053ab544d9c377133a120cd4caa8aac6650da16a36150444d78e6.json b/backend/graphify-out/cache/ast/v0.9.4/ff831959d54053ab544d9c377133a120cd4caa8aac6650da16a36150444d78e6.json new file mode 100644 index 000000000..f6a2859fa --- /dev/null +++ b/backend/graphify-out/cache/ast/v0.9.4/ff831959d54053ab544d9c377133a120cd4caa8aac6650da16a36150444d78e6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "label": "test_crm_contract_no_align.py", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "label": "test_replace_keeps_seq_and_swaps_date()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L11"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "label": "test_replace_noop_when_same_date()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L18"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "label": "test_replace_returns_none_for_nonstandard()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L22"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "label": "test_align_returns_original_when_nonstandard()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L28"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "label": "test_align_bumps_seq_when_occupied()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L38"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "label": "test_align_exclude_id_skips_self()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L51"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "label": "_mock_last_contract()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L70"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "label": "test_generate_bumps_past_soft_deleted_occupied_no()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L82"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "label": "test_generate_starts_after_soft_deleted_max()", "file_type": "code", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L94"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_rationale_83", "label": "\u8f6f\u5220\u5360\u7528\u7684\u7f16\u53f7\u4ecd\u5360\u552f\u4e00\u7d22\u5f15\uff0c\u751f\u6210\u65f6\u987b\u8df3\u8fc7\uff08\u5bf9\u9f50 uk_contract_tenant_no\uff09\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L83"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_rationale_95", "label": "\u53d6\u6700\u5927\u6d41\u6c34\u53f7\u987b\u542b\u8f6f\u5220\uff0c\u907f\u514d\u590d\u7528\u5df2\u8f6f\u5220\u7684\u6700\u5927\u7f16\u53f7\u3002", "file_type": "rationale", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L95"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "app_crud_crm_contract", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L22", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L38", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L70", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L82", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L94", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L84", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L96", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_rationale_83", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L83", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_rationale_95", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_crm_contract_no_align.py", "source_location": "L95", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "callee": "replace_contract_no_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L13", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L13", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "callee": "replace_contract_no_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L19", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L19", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "replace_contract_no_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L23", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L23", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "replace_contract_no_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L24", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L24", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "replace_contract_no_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L25", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L25", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L29", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "callee": "align_contract_no_to_sign_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L31", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L32", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L39", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "callee": "patch", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L44", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "callee": "_exists", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L44"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "callee": "align_contract_no_to_sign_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L45", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L46", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L52", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "callee": "patch", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L59", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "callee": "_exists", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L59"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "callee": "align_contract_no_to_sign_date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L60", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L64", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L71", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L72", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L74", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "callee": "patch", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L89", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "callee": "_exists", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L89"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "callee": "generate_contract_no", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L90", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "callee": "patch", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L98", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "callee": "generate_contract_no", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L99", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "callee": "date", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py", "source_location": "L99", "receiver": null}], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_mock_last_contract", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_bumps_seq_when_occupied", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_exclude_id_skips_self", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_align_returns_original_when_nonstandard", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_bumps_past_soft_deleted_occupied_no", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_generate_starts_after_soft_deleted_max", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_keeps_seq_and_swaps_date", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_noop_when_same_date", "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_crm_contract_no_align_test_replace_returns_none_for_nonstandard"]} \ No newline at end of file diff --git a/backend/graphify-out/cache/stat-index.json b/backend/graphify-out/cache/stat-index.json index 7a75f1f29..3f46e358f 100644 --- a/backend/graphify-out/cache/stat-index.json +++ b/backend/graphify-out/cache/stat-index.json @@ -1 +1 @@ -{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345666495916,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2186,"mtime_ns":1784035957226402359,"hash":"5af681963b36af57eaca7fdfc7f707255008ffba18df1a8c2d5903f58fcbf159"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930807298966,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930808197763,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930810184774,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973062398026,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930808681891,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930808144846,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930808426681,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930810245983,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930808614098,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002126415047,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5164,"mtime_ns":1782688288640487823,"hash":"370a7c2b5de64c6b72f98bcf7fbbc166ba2a7f5673c6e1426b10bcc88220bb27"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":14214,"mtime_ns":1783851628178366109,"hash":"aeac623e3020fee4cdd01e463ced23e4e03539a17c5b57dcbd9d88aac5a4fb4f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5537,"mtime_ns":1782688289303121533,"hash":"f4edc5824466d0096b3b70aeea7b4460a9fa54ca0929421759b625b60c56c505"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281816798167,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930726090799,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930725878047,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282481859519,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282878700273,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6525,"mtime_ns":1782688288935534527,"hash":"a7bf593eff76d08b338f48f9a035fa1493f4ca88867bf9fdf4e9af06b6165759"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354647000111,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5418,"mtime_ns":1782688289691482227,"hash":"5bd3fd93c60956dab0268e9f4e6cf315d0a9c9656d649f4abb40858ba1d32911"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":1012,"mtime_ns":1780108930727448890,"hash":"7de1eb94b9fbb897a7b362ffdb5df5ab1020aa7247c7c37a2a2a2aa5cdbac8ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290021142467,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6604,"mtime_ns":1782688283203296227,"hash":"ebb38fcd527fdac4dcbf0632ac926e4cbe95dddb5fab79c3142b010e7a48ea7e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930726010257,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678100096646,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":12682,"mtime_ns":1783858998986861832,"hash":"b98ac3f3bc95c2b42c481ac9ae9137528e55845d425e5d2184827dc424304e42"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649232229595,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854866245387,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50055,"mtime_ns":1782855138852859245,"hash":"a5e74057222e3359f6077b2fd05b2db4d058ec2702243cc449bff8d448d44a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854865038715,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854865571301,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930810395025,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992914903818,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":5592,"mtime_ns":1783858473640363111,"hash":"04c2cd67a7ec8190aa7a9db717a722cd347a52279ac3ef5bd284777f0698a904"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/ws/__init__.py":{"size":26,"mtime_ns":1780108930810617026,"hash":"d4357444e9b5b0a8593000fb6e4dc37469ebe008e675bf42ec0d55d463f88fc6"},"/Users/zlwu/work/00code/shanxia2.0/backend/README.md":{"size":2752,"mtime_ns":1780114581291841672,"hash":"f5def8d25af0556a443c31a73e81f958883b60cfed8b31fac457f2832c2b6d58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/crm_models.py":{"size":66592,"mtime_ns":1784122553836870448,"hash":"1a0a09e5f5d9eb2d5e18e2f7d851287442ee370a3abfbf0b487ee4b4a18d43b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/__init__.py":{"size":0,"mtime_ns":1780201410213315055,"hash":"a6d57250b43cbdecb56b7a9d55d29642b808be368733e14b7df2bd196f54d64d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/product.py":{"size":7820,"mtime_ns":1783820526204158517,"hash":"b8d626eca1b0fc6b0216a66afb1cf234155310d3077d940d5158111f873a414b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/__init__.py":{"size":0,"mtime_ns":1780201410210254759,"hash":"9b8fcaaabdc85883c9ef392b596b60db0bd3b2f1623fc8012e55003f234a9875"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/product.py":{"size":25974,"mtime_ns":1783820522540308906,"hash":"6d1fb7bc06a4f16c729b1b226377ffa38b9b47bf1cc75310dcefbb8f6e480574"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":151289,"mtime_ns":1784119033682636742,"hash":"ceaa64369ef66891310f391836c580beefd5a69854b3a5a0539a419744a311b0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/customer_pool.py":{"size":9646,"mtime_ns":1780202350147822837,"hash":"4f0ab87e7a12534011b69f58079ca206d5443eee594849ab4aae728bb847de0d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/tenant_context.py":{"size":693,"mtime_ns":1780201410210198550,"hash":"0a810658d894d35b9e981faa1448e1d02d617ecbe563bd711f6ce5a8f9db1861"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/pool_rule.py":{"size":1848,"mtime_ns":1780202212734233591,"hash":"b0331e17e801d206fba2fa89df1a66d1758d850dc5547e076218e16c8211a3e8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer_pool.py":{"size":1340,"mtime_ns":1780202198698231150,"hash":"7a6b76e0e39ada0783dfbee92280e9f06299b6662b08abb13ab1b0d9c70fe370"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer_follow.py":{"size":3716,"mtime_ns":1780201410213934514,"hash":"3979cecd62a4f2ee5dd925639572208e36b397620d91a9ce49a59adfcb2a9d55"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py":{"size":13811,"mtime_ns":1783823672041317102,"hash":"b91167282158aeb11046dccc4bf2f29a13307a0413b3d7b3c860b17d37f8ad4a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contact.py":{"size":4856,"mtime_ns":1780742840975948859,"hash":"60c714cc254d70f39b43205bbcb7fb4c563e807ddd070eefaaa952ae96048377"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/pool_rule.py":{"size":8816,"mtime_ns":1782687680547203228,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665525772610,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":23825,"mtime_ns":1782687664490640155,"hash":"5d8934ae6318de87b0761686fe491a7ec2be02792a85d84308c383af3193fa8a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664918872966,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410245078685,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410215906642,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237342131933,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310467813967,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386885207867,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":1584,"mtime_ns":1780201410212966513,"hash":"9349799b02a3531d8e1b46f9f70d3b6630afd7306663c779bd11f25448a16013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666050313280,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127112297110,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10565,"mtime_ns":1784195323916483606,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666592409903,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":92433,"mtime_ns":1783763318740360571,"hash":"b2362db2f2df750afc1c2263f5e6ac1ccd5daa8b93ad5650d56028f452597837"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127108406092,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353340106185,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127112307360,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352542520022,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854865860510,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022189075651,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674053739962,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705954031080,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305846991404,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":10069,"mtime_ns":1783821986040417425,"hash":"06c9f3deab3472b20429c12a618ae2d4d6efd3afa2353ac44cd52651a596af4c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669972916544,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830255260394,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127043319167,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127113233948,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":3679,"mtime_ns":1780242127112269527,"hash":"8b797e9dee6ac7ff806a8ea23bef5fedce648502ea23287e1b417e9f96d22c2e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":6916,"mtime_ns":1782687684650105460,"hash":"0b66714e36609688f7ce79ecda0679d20df115d2d64a0dff1cc0fc76df7dca6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13126,"mtime_ns":1782650413581368849,"hash":"cd2fc23852ead3c4db19e34bc33c1560fc5f5d4cd7cf51b61def8bf37c44c853"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":5961,"mtime_ns":1780745856749183842,"hash":"29c52786df396aededd0850e3c8a3a36f3fb6a952af03adbe1768dae212b6804"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48137,"mtime_ns":1782687675213433843,"hash":"a2ff5c5b74a2becd0949aab6aea8cf63440cce2c0bb22e1a1661463e0b2e963d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":10537,"mtime_ns":1782687676011228777,"hash":"57d9d5b4fc2bc8b68c0388a4b8a9c1322539ed7e538764fc23521916429e07c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254630170341,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314936479798,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127112382277,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":25633,"mtime_ns":1783825326810765171,"hash":"c51b70766aae85dbc537bf5b48a2c350c73ea8e93bcad2a9660d8d45c6d0979d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_approval.py":{"size":13958,"mtime_ns":1780763324103831772,"hash":"3d7fbbb90728568a2577e52d8986ccbec8f599d04a0ef9e330939d1fe729bc98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_routes.py":{"size":29547,"mtime_ns":1783825526614169736,"hash":"95969972c0773528b91d9728d303feae5ca7187d89a49495d5129dcedffc19dc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_template.py":{"size":2897,"mtime_ns":1780229101351431207,"hash":"935adfc7659e31201cd83ba8387bf6abcb39e7cdc63fa4692d699ed874cf113b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_change.py":{"size":2496,"mtime_ns":1780229100306468735,"hash":"05af42f088f6cc400c1e3445d4a2c96670edf482328b361aa4f231230d958729"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_template.py":{"size":11858,"mtime_ns":1780229131746659196,"hash":"b9bdbe6a33c933aefcb25cc57e94b2fd2dc75f8e5822434f3912aa0153dfca00"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_change.py":{"size":15985,"mtime_ns":1780229123819597506,"hash":"771b110d3d136c45106dd61171c724c559b5b4bf572ea7b8c2b648f0bfe629c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354912882614,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602888987090,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780925056463,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":2363,"mtime_ns":1783745556349035158,"hash":"e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396630684570,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16644,"mtime_ns":1782003187247224106,"hash":"37c7372f38d76f1020d31ce8ca9e7f0cb3bc3c204a50deb092b494ce8c983fbf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556881734563,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187605255900,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":777,"mtime_ns":1780751360180065853,"hash":"3525eb716c238682a07a116818d318b8a494fb24b9cefca5114d30bc50d095a5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293668634639,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293973889288,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913604714906,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913326708063,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4366,"mtime_ns":1782650887981843546,"hash":"15321fe1df77a555af579474434e3b401bd042555d19ea81a066ef754915612b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594045301798,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5446,"mtime_ns":1782650919964956073,"hash":"1d72733147e0ed997094d7f92d1c1f5e1e108093a50e8e523b3b016c3dd676e4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3931,"mtime_ns":1782687617846731919,"hash":"dba80b8f4e26bc59efd2b2aad6bd430c0315133a98bfbbe1b93113b60baba8b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871480000584,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296833335474,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898570675189,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":13370,"mtime_ns":1783745567004734594,"hash":"3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868959755751,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":24037,"mtime_ns":1783746967707088251,"hash":"4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3656,"mtime_ns":1780750869826924187,"hash":"ac98980bd5b6cbab6a9394b6debc678b050cf4df969eccbc5f2d419b615937cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":5638,"mtime_ns":1782688293517624966,"hash":"aa47d8e87982a4077ff067dff2955db9eb67171d6368bc636c1eea17ea7682f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":15431,"mtime_ns":1783747621462206303,"hash":"dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":34743,"mtime_ns":1783747614591546341,"hash":"ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15715,"mtime_ns":1783745581266319098,"hash":"0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200904804714,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570945208920,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200096708592,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614160787709,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py":{"size":2754,"mtime_ns":1780802262496001324,"hash":"d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py":{"size":591,"mtime_ns":1780802980783200520,"hash":"d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619867600032,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py":{"size":3780,"mtime_ns":1780802985736476363,"hash":"aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py":{"size":4776,"mtime_ns":1780802999039302982,"hash":"cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py":{"size":1788,"mtime_ns":1780803836065964235,"hash":"30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py":{"size":4167,"mtime_ns":1780803836065953735,"hash":"acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py":{"size":9619,"mtime_ns":1780803836065902943,"hash":"e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":3948,"mtime_ns":1782219604456801044,"hash":"19ea80e59a1309518ad6183a6b0b8751401f4724d7b5101d47defc2417ec36c8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16423,"mtime_ns":1783156035144390497,"hash":"901602a8fe362aec9b89ac6f2ee578f1eeb105fcf12a1a6c3ff4ef98f4ad1ef3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py":{"size":10663,"mtime_ns":1780803878293678536,"hash":"e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5347,"mtime_ns":1780935341753643087,"hash":"f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":14940,"mtime_ns":1782687688848020877,"hash":"71d143eb05d0d3f785f5962892bde64dee3c2937139c975b52af62628f308d46"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py":{"size":24042,"mtime_ns":1780804029884092079,"hash":"bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853674329877,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":4876,"mtime_ns":1780935329287069452,"hash":"474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py":{"size":619,"mtime_ns":1780925759582999052,"hash":"6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py":{"size":4748,"mtime_ns":1780925781827569662,"hash":"8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17098,"mtime_ns":1783156035873015369,"hash":"bd2c8344e2ab765ceb2a2c91f5cf2facea319ae66c9097f5468a7f5d753b67dd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6955,"mtime_ns":1782219619253708711,"hash":"b9e97f66a0a248d06c2f960c3f5ac4fb3369cc976c16709227dee0cc1513d221"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818442134500,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990870580151,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340330906738,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095845033710,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092108105489,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400833764213,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102157096922,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1782011225157870526,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632326984469,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268573313971,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647395760353,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":61386,"mtime_ns":1784032430468998611,"hash":"e23b4653b806a1917eba187d8a3584dff598ad74bc21c8295c179abf0bcfe17e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":22053,"mtime_ns":1783754594278544472,"hash":"f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":17945,"mtime_ns":1783211732481443217,"hash":"477ebd0c4c084cf8bccd10865e4703b6b34829d30b791c32232d96c1bac2947f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582112287271,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11275,"mtime_ns":1783213205154827373,"hash":"557f9e9f06ab6f18eb33f54a579fb8ab0f6992d9b25bb530a2ec49d5b2365708"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7742,"mtime_ns":1783242580346813026,"hash":"9b57e84bea4844ce93220773544064ed6979c5823b07831bc5fe734b6dc860d3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":48150,"mtime_ns":1783945795484267217,"hash":"a9a876816af12e43b3fa6b9dc748b74b7107f0cae590e68a2a789945617c620e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":33087,"mtime_ns":1783155250374329483,"hash":"6f7703d37ce761406d42f3be4e53ee85be0d3e43e5b880401087dde47ec6608f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1243,"mtime_ns":1784035957226411568,"hash":"7d66d74042036571b769e5364616560597a3c3347cb9dea6cfbe04c40483b5e2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10543,"mtime_ns":1783760751060550793,"hash":"2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":33513,"mtime_ns":1783849851800999450,"hash":"133db64dcfad9ae687b90084eb8f1b5f713ebabce852bba26b600cab52e51c50"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13188,"mtime_ns":1783242583174353699,"hash":"da03959cdab792ef503edae6ee27e45f9b5a8db1c63cdbcd97bafa85acc9be71"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510604174541,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":19762,"mtime_ns":1783849843323086946,"hash":"21d29a63b2dbd9178f2239d109c4e71e668c2caf85788dcecc34e7533f0df4e6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6707,"mtime_ns":1783845044115228598,"hash":"34f3d1d723890e294aac765a66d7e86ca87f4288f42cec674bb9151de091fe22"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7694,"mtime_ns":1783849439910099822,"hash":"7bb0a6d4dfdb1ec11e72e971873791b8e188939e7c6b7328a0a2f4f8986c9d1c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":39798,"mtime_ns":1783768766029953703,"hash":"0e0620d2878e4b28c560daf8095d30e8e8a281653d40baf01ef94e899ce114e8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":9697,"mtime_ns":1783209147246415813,"hash":"aac3cfd1a30df824d1a4867c5b358e3155e19a051dbaffbae89c995b55767a8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":15310,"mtime_ns":1783777749440894312,"hash":"c506eb84c104ce63b98cde5b16644f16ddcf4e3aa335089bedcb4c267d21fc0d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660985345577,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898570930774,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276143253698,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":8470,"mtime_ns":1783211738132414332,"hash":"08745e00bfa7bd756fbeef7ae7a1d3bf957d6403da51cf7825def02a38502d01"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460524562610,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248175867714,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204589333188,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048011371782,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/zlwu/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356701497576,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085670691361,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163950860693,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231443625388,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279067732462,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506729785291,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517176615737,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938092205819,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142571517234,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610196676295,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611517772849,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":3479,"mtime_ns":1783848338604396640,"hash":"7d12991ffd2e3d7b768aaa587d7f9ae1ed4d641f65ec3f053ed103fc74a5a005"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169098881801,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867411719704,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22641,"mtime_ns":1783760938743438422,"hash":"a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447503836332,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447583143336,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23307,"mtime_ns":1783761151873696556,"hash":"0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196169930337,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220189638136,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213546483763,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254052728785,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326717654441,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327268762002,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834895168051,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446819247296,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450356380638,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360746020898,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539731495489,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6875,"mtime_ns":1782907484528042124,"hash":"7880a37b53dc2e88534ca5750097792ee7e893c94d87bf1eecd8b6055fbba181"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000967398,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586212866839,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958449266456,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744737524455,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340132373787,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697391655899,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793703960795,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py":{"size":247,"mtime_ns":1783257567212910729,"hash":"88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py":{"size":1203,"mtime_ns":1783257582921626135,"hash":"05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py":{"size":6108,"mtime_ns":1783258109621359209,"hash":"aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql":{"size":454,"mtime_ns":1783254856670799736,"hash":"d40ab4c556ab285498f4689c21736832deddc754a9a2b7d806e870ccb39fc9ae"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql":{"size":82266,"mtime_ns":1784119136237565207,"hash":"e0c15f9bd4525b6e447a7e8da3aa6bf93c14c47a1b99dc5cb4bee9dfd1a60e8b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql":{"size":6367,"mtime_ns":1783256049450807031,"hash":"5f6964d1ea2712d3d72c8f43f08c16597d85fe79f3f54c8be99962090d6c2b67"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql":{"size":1562,"mtime_ns":1783256051207137180,"hash":"82a0ce8c5293f5051967633c1c2e0a1dc60e1fc7c97919c9e0866246bbcbe3d1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql":{"size":269,"mtime_ns":1783760394518896877,"hash":"a5f66647cdb4f0f403689b47b804f8099d7d710753823ef3ddc5e7a5a9ca4ca8"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_pl_dibang_plan_quantity.py":{"size":4258,"mtime_ns":1783777759829460303,"hash":"6af8eb3c1f6c7ad34cd62f1e82e9c6b96737ffd48ba74dda7c5f888c55dd11cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_required_service.py":{"size":10503,"mtime_ns":1783946967244318920,"hash":"07991890446a106b2d520e5e3c65e27af90c13d00945516ef1ce9bdf2e389879"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_type.sql":{"size":1662,"mtime_ns":1783843576747470605,"hash":"24fcd156f97e2bdf2bd158beb5358fe7159874783a84716c6c18d2565cc8ac1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_affiliation.sql":{"size":753,"mtime_ns":1783845019912997576,"hash":"6d450d264921f43c4e74ee4a2bcfc8335d16f77d9e0413267389741a92bf4eb5"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_add_finance_dept.sql":{"size":1697,"mtime_ns":1783855927743333340,"hash":"4ce457089ead5c063ae8e1a6d6553416deb43c54a7edddb574ee2572390aba99"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/setup_business_roles.py":{"size":14256,"mtime_ns":1783858477739135462,"hash":"ac12df2cf75826931c85f4deb3ae28614e31ea825d0beb3cf351a8d4f5cb1071"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_reset_sys_dept.sql":{"size":4517,"mtime_ns":1783855538627076795,"hash":"3795d6127a4dcf55d406be0fe673b8a83655723fe1f07b855e6fe45823d489fa"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_users.py":{"size":28602,"mtime_ns":1783855936414773748,"hash":"f5626fd3ca8bbc16275862080365c3ea2a27fd0f608e2243a284493762a8f735"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/verify_web_menu_codes.py":{"size":2535,"mtime_ns":1783858485781974173,"hash":"16c9c072b5b80fb309d56823963ebd0dd1f437a3f74d7f82711dd8a7c2de86d2"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/refresh_business_role_menus.py":{"size":3812,"mtime_ns":1783858483854587001,"hash":"b2c76109936791e1f624e239b24832237fa0256b38b98578e39825ac215fb166"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/renumber_crm_product_no.py":{"size":9071,"mtime_ns":1783861492796558653,"hash":"320c63801100ea8e9fb62abfb44b3487139377e293310593a877ab2d06e9d2e3"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_product.py":{"size":13287,"mtime_ns":1783860925852062495,"hash":"3e5dd462f2ad6218d2547b66db741132d0179037e6dd3ac24ddaa02a5b970d4b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_product_category.py":{"size":15583,"mtime_ns":1783860690842141129,"hash":"9cbdfdf3335a366aebd0a605431b3952ea9aab26bd564d075d501479ae0b20f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/compare_dict_snapshots.py":{"size":11072,"mtime_ns":1783860128258640426,"hash":"cfc98cc72c5e387317cfa0a7670c47067fffe8f2e540d5cd580ee459e173e4ef"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_sys_oss.py":{"size":22858,"mtime_ns":1783885816251409459,"hash":"20f59e7e19a0c4415bdf17cef32a31db63220346688b3dbe06bc2c52a42d475c"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration/minio_url.py":{"size":4770,"mtime_ns":1783884947929403985,"hash":"54a1bf95512c0a8b5feeb518ea3af76983bb1b0a3ba645898b07debdb2cc52e9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py":{"size":25235,"mtime_ns":1783886258025843303,"hash":"f30d5a50a28a1130325a9d9db88586bcae9e2a39434f077ded25f847af2ed66f"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_opportunity.py":{"size":23720,"mtime_ns":1783887271166904779,"hash":"f98964806f32c3020bdd7d644d930760d6ea3ad5162d5f1d6125494263dd5598"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_payment_invoice.py":{"size":13601,"mtime_ns":1783888353771580120,"hash":"c4af77164dac9ba4195c3d239c9679ea367b92f5f7500139f3b59547525af24e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_clue.py":{"size":18423,"mtime_ns":1783887050391179085,"hash":"72b84e497176bc63264c26d891c591c839f9dd9788988043c5752413c1b62a09"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_data.py":{"size":32783,"mtime_ns":1783888844450695833,"hash":"16751fcd542e209535216a0516d78b62eecb81732d7fe0f9ec051fdf811e93b6"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_contract.py":{"size":36188,"mtime_ns":1783888258230435217,"hash":"a6269c8eeff19f4ae8ff7d22a3544ebc4a1858aaecd59583e6afd140a7fa766e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_quote.py":{"size":27580,"mtime_ns":1783887475224438064,"hash":"4ac389eb6cb7437d4f5e8203d9908efec9836046ce8628a5e4be1f8b8ddd52cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_pl_personnel_cert_required.py":{"size":2829,"mtime_ns":1783946968430310316,"hash":"e89b3aa798794dc77085af5c4b880cdddcd2c0590c3cc3414f8a5389fd5f6d93"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260713_pl_personnel_cert_split.sql":{"size":3436,"mtime_ns":1783946793684378982,"hash":"ce61899ec7e13f41de08dbc923dd1ff2a1a976603d13c8f09aa6fd5be9c914a2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/ocr.py":{"size":1889,"mtime_ns":1784035957225824939,"hash":"1de70651a8c1c9e0e208bdccb45d0b9c7e7a0f8f9a663941bdbd5ae278234b1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_ocr_service.py":{"size":11166,"mtime_ns":1784036700055450000,"hash":"6f233150e253813a7c9da30e6e5d6046fdea01baa67c2589a332fe511ab795f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/test_aliyun_driving_license_ocr.py":{"size":5130,"mtime_ns":1784032210609057675,"hash":"13d43c9144c3795b8870fbd900ed14f97ae22ee043e2c265a5151525666abebe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260714_pl_ocr_usage_month.sql":{"size":1270,"mtime_ns":1784032423540552834,"hash":"d7018a4e5be9760846731440be98e53584d8e1461fc4ea54a0c8db61c666e7fe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/price_letter.py":{"size":3994,"mtime_ns":1784122554297827011,"hash":"6cd75fdbbd6a2dc65cf0b0b29e6206910fbd86f8bedf05bb56a8835130b81829"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/price_letter.py":{"size":13292,"mtime_ns":1784122560635390924,"hash":"1edbd17d41fcc4205faf15de5ce47aecc5459a39d06a920689379a65cdb9c3d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter.sql":{"size":11104,"mtime_ns":1784122573332360310,"hash":"548dab479fcde4bf1628ca2093fd7840720473a774a5289b55bfd4f46b902153"},"/Users/zlwu/work/00code/shanxia2.0/backend/venv.bak.broken/bin/Activate.ps1":{"size":8593,"mtime_ns":1780108930820914793,"hash":"ed2ea10761f2798e8980084d754284d3fcb94f1284ae7085c35c16108fe24846"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter_bill_price.sql":{"size":901,"mtime_ns":1784122547991214820,"hash":"11a4eb6f3b4d89c1a5141bd9a85e931517984b77ac213f5842dc590f928fe1cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982000000000,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649000000000,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50332,"mtime_ns":1785469147058813215,"hash":"b2038d923003b4b9c0545217d6f8077b811fe7d15881a56daaeb28eac3024538"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":827,"mtime_ns":1784980394000000000,"hash":"8bd7939017216a2b3c9ea7ed910167f7baf5c02cf724c10b392f6f286f6368a5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":13404,"mtime_ns":1784992736000000000,"hash":"e09d555bad6b1a0ab289d045dda5a4231a54316e34616f60b03f724f9152e73c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898000000000,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913000000000,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15715,"mtime_ns":1783745581000000000,"hash":"0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":17764,"mtime_ns":1785473021311995564,"hash":"7bdd9f93c359800774b48c268d6ef56c6abcdc9ffbad3f50ddb71a88da506014"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913000000000,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":152113,"mtime_ns":1785808418671982120,"hash":"bc92066b2fdde0314bbc39160a8f70e812c38ac3d4985eb1bc575946716e0194"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_contract_routes.py":{"size":31366,"mtime_ns":1785582201623110512,"hash":"8dc61a9acfd6c688d60733291382cfee9712f600b370c4f6e7a5fc4c70e12f37"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354000000000,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":27413,"mtime_ns":1785582207627862716,"hash":"030260b446ad51a39654ee9bc869cc8904e07390d47447b0ce238888ba15316e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200000000000,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340000000000,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16637,"mtime_ns":1785807172285029476,"hash":"e64e316ab276224ca0574ec9bc8730b67e8658459f6f0bfb4915ccad0958a177"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17807,"mtime_ns":1785807158093888530,"hash":"7736ecd8c800103be3fd20ba864e611a97e13ed195613259b96f9530a30d292b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898000000000,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":15133,"mtime_ns":1785807184507708871,"hash":"69a9b973a3c30f447358a6d7fbb7aa52dbac7301c1f726e233063c51b0403a5d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854000000000,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854000000000,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854000000000,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1401,"mtime_ns":1784428053000000000,"hash":"dea849a84ab13ec8daf7782c055f04682fb763bbfd2f184e37ace15312421905"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":32960,"mtime_ns":1785637805321715091,"hash":"5f2a6a293a908b0c2dfd58836355ca79885e485a1a043a61d64f44cf8804430a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10543,"mtime_ns":1783760751000000000,"hash":"2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13443,"mtime_ns":1785202430756770222,"hash":"b14a59968214a71d272cc6fbfc2555a9ea39eb8174697a75bec673bdfda1b074"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py":{"size":12552,"mtime_ns":1785484571840900864,"hash":"c1508e2c882a86f5dc3982e2262762704a0c6ec3f15cbbca688e51ccefa6a4c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py":{"size":1203,"mtime_ns":1783257582000000000,"hash":"05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/ocr.py":{"size":1889,"mtime_ns":1784035957000000000,"hash":"1de70651a8c1c9e0e208bdccb45d0b9c7e7a0f8f9a663941bdbd5ae278234b1a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":54630,"mtime_ns":1785661005034111488,"hash":"78eecceca8996f6903e6d1a1e48910b913dcc8d847733a800e085ff66bb589f4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_io_order.py":{"size":6947,"mtime_ns":1785446228430209460,"hash":"74ac18f644a2fb5454714b0c26e4efb4f2838cbb579c3771ab3727b4ce7471ad"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":9607,"mtime_ns":1785451214459593031,"hash":"c9d7d58d5f52fbc38c57a35db878499e9007a23579ca4afcc1b23e9d89574f93"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":14689,"mtime_ns":1785451206327142197,"hash":"93ae31a9c31bb9d67b9b5bdb62c367a18b497fe10a48508a5d1ef13f02b3ba2d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":35018,"mtime_ns":1785447176422326611,"hash":"ef6de0a2d4639df270b33474966feb66b1366109bdf984062d0187b22189ed43"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6737,"mtime_ns":1784993134000000000,"hash":"e7cc69318bb266a6fb28a9e8163b16e459b879e6041b226d9870477d3bf1c378"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447000000000,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867000000000,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220000000000,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/public.py":{"size":12682,"mtime_ns":1783858998000000000,"hash":"b98ac3f3bc95c2b42c481ac9ae9137528e55845d425e5d2184827dc424304e42"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854000000000,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930000000000,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930000000000,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930000000000,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001000000000,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669000000000,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602000000000,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841000000000,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780000000000,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/config.py":{"size":7308,"mtime_ns":1785768184947508019,"hash":"c7bc60196540e82cc9e5cf603c9694e84fea7d958348782a72655c2a43a8bb4d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930000000000,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8432,"mtime_ns":1784993108000000000,"hash":"16fd3ff8a3dde7397d55829d83c8541f6cbfb11145bfa8f2ae4e28fcaf4e2f60"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847000000000,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853000000000,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930000000000,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610000000000,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930000000000,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930000000000,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930000000000,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327000000000,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254000000000,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326000000000,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930000000000,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834000000000,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930000000000,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930000000000,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930000000000,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":15372,"mtime_ns":1785592530623303275,"hash":"f4b21123bd305d7e59ebd95cd1942b150a95943d4c3b7288fd049c3ebdc4cc1f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/tenant_context.py":{"size":693,"mtime_ns":1780201410000000000,"hash":"0a810658d894d35b9e981faa1448e1d02d617ecbe563bd711f6ce5a8f9db1861"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930000000000,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930000000000,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930000000000,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930000000000,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354000000000,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930000000000,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930000000000,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/__init__.py":{"size":0,"mtime_ns":1780201410000000000,"hash":"9b8fcaaabdc85883c9ef392b596b60db0bd3b2f1623fc8012e55003f234a9875"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705000000000,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674000000000,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305000000000,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664000000000,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":94325,"mtime_ns":1785728725203873485,"hash":"86d111ae173c2e41e8ea177ea16367e825cdc315aa5da4915e7677ecb6ad362b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approval.py":{"size":13958,"mtime_ns":1780763324000000000,"hash":"3d7fbbb90728568a2577e52d8986ccbec8f599d04a0ef9e330939d1fe729bc98"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13694,"mtime_ns":1785201816045624515,"hash":"065d84b86eae1b304ba84b48f5a77de89b4fef14fe714a61b31343c531887e1a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":25015,"mtime_ns":1785808349102034724,"hash":"621df03833baf12a538b101ba7cc0cec90146a33a7cc72783dc1a28affeabe84"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665000000000,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237000000000,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085000000000,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666000000000,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666000000000,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":10069,"mtime_ns":1783821986000000000,"hash":"06c9f3deab3472b20429c12a618ae2d4d6efd3afa2353ac44cd52651a596af4c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669000000000,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/pool_rule.py":{"size":8816,"mtime_ns":1782687680000000000,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/price_letter.py":{"size":13292,"mtime_ns":1784122560000000000,"hash":"1edbd17d41fcc4205faf15de5ce47aecc5459a39d06a920689379a65cdb9c3d9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/product.py":{"size":36389,"mtime_ns":1785808415934897836,"hash":"047aa085aa60594ac230449596003a6451e9064f756c2d2b5046153e44d68ab8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48769,"mtime_ns":1784996795000000000,"hash":"dc5215156270917090fb404c6f7455b48617e9554305fdc4c66fe70f0befe423"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314000000000,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":13183,"mtime_ns":1785201813742913960,"hash":"20f79ad1a386d9f3d5192d154132b799380e754778f98cf5c940a782626fc8bd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254000000000,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310000000000,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":7182,"mtime_ns":1784996460000000000,"hash":"2c244898e16084f533aa42a0a3b45106a99515ebf627d37557b22549fd1f0035"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6593,"mtime_ns":1784993073000000000,"hash":"a636f1c45bd0dd0b2e6c337061f3d1ce4119b130d444d6b31bf7f1be4782fa67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5379,"mtime_ns":1784993069000000000,"hash":"750a883eb752a96e26f22267171a941345201afa9d2ff243c4c4569d02a735ea"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5456,"mtime_ns":1784993071000000000,"hash":"d7f64d813e31ed3751b6399245ba502f953644569c75dce0a98598d38b0efde2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":961,"mtime_ns":1784993074000000000,"hash":"ba2c043bc078010880031293f6e2f0f01e9b820d191ff6989bf65983903f063c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678000000000,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282000000000,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127000000000,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352000000000,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":2688,"mtime_ns":1785469127578334497,"hash":"88d704b7041a2ae458860c7a93357cff50bc5a8164939151326c22266f300487"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5081,"mtime_ns":1784993075000000000,"hash":"12619e8ae3e341e757e8696459241924d761161a629b2804d0e1c3611b4d6a67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282000000000,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002000000000,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6442,"mtime_ns":1784993075000000000,"hash":"a5f9e5ab9008186c0001c480bd702e6217946eedc17b2e35eb25ad06edcfccca"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281000000000,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":14214,"mtime_ns":1783851628000000000,"hash":"aeac623e3020fee4cdd01e463ced23e4e03539a17c5b57dcbd9d88aac5a4fb4f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290000000000,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/main.py":{"size":6740,"mtime_ns":1785768184201594474,"hash":"d1d51e39dde50be124c7e5180d4bf8ad1e4f79f81b788d65211002e7500e3ad1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2508,"mtime_ns":1785445893850945734,"hash":"c6482a76c0273e7916ac15991de22851a53c3c20cfa922a6431e26cbdc4164aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930000000000,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":22196,"mtime_ns":1785472986385441979,"hash":"7027faa05ebc02388df5ac563561a826f3b107a9c55d927da60cf4ef85327d9e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/crm_models.py":{"size":71968,"mtime_ns":1785561859218571928,"hash":"d78d1ed8e2b0a0b4bc3bad72c962836de29ea0c16054069859517eb4ca910f18"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570000000000,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345000000000,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":77637,"mtime_ns":1785637538682041479,"hash":"8d1d7645a644d8ae2296285e416ceb7f3b7f493fb5e7fb94b0645133b3cff9bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973000000000,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930000000000,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930000000000,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556000000000,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296000000000,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871000000000,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187000000000,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293000000000,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":7641,"mtime_ns":1785473904076010280,"hash":"9e3bd83e926020fbcdc81264afa766f63a27d71d7c71e772d581b5d4019d82ac"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293000000000,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930000000000,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/__init__.py":{"size":0,"mtime_ns":1780201410000000000,"hash":"a6d57250b43cbdecb56b7a9d55d29642b808be368733e14b7df2bd196f54d64d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022000000000,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contact.py":{"size":4856,"mtime_ns":1780742840000000000,"hash":"60c714cc254d70f39b43205bbcb7fb4c563e807ddd070eefaaa952ae96048377"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10671,"mtime_ns":1785418059662177093,"hash":"be3c4f394aa2ee009515127647c54bad54936d9f6c1ecd36e391efae192b6960"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py":{"size":14450,"mtime_ns":1785808348436795280,"hash":"1795bee45228ed39d02891d289b7fecbaa184499f13788e85b10480891cfcc21"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer_follow.py":{"size":3716,"mtime_ns":1780201410000000000,"hash":"3979cecd62a4f2ee5dd925639572208e36b397620d91a9ce49a59adfcb2a9d55"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer_pool.py":{"size":1340,"mtime_ns":1780202198000000000,"hash":"7a6b76e0e39ada0783dfbee92280e9f06299b6662b08abb13ab1b0d9c70fe370"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386000000000,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127000000000,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/pool_rule.py":{"size":1848,"mtime_ns":1780202212000000000,"hash":"b0331e17e801d206fba2fa89df1a66d1758d850dc5547e076218e16c8211a3e8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/price_letter.py":{"size":3994,"mtime_ns":1784122554000000000,"hash":"6cd75fdbbd6a2dc65cf0b0b29e6206910fbd86f8bedf05bb56a8835130b81829"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/product.py":{"size":9627,"mtime_ns":1785808413391910783,"hash":"7cbbcfb86068a0ca3211c068a6200d618cbf3ccbbf9614678aa46c7fd0bec967"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":6173,"mtime_ns":1785418147320158849,"hash":"36361e9100bbaea5768c3428c2adca7a5393e51915400fdc71e9a6b4a2ad9c9f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410000000000,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":4149,"mtime_ns":1784996454000000000,"hash":"25bc81362d6365c8bd852892890f3ff0c74fd702016cb21104c3bdfa51e2f858"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619000000000,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990000000000,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":4095,"mtime_ns":1785807104128333050,"hash":"37a2e0218b67e33fc7ddc479bcb68c8c45ca892a2e88fbdc543f87b05924ae9d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":5023,"mtime_ns":1785807102509773576,"hash":"6f0172acb27799becd86980fa299744a5c8ba404be1b473cc030a05a6f3ec7f6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660000000000,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5494,"mtime_ns":1785807118487481337,"hash":"120c573ad29a51805e5b04d0c2ceeaea08d70200a40ddca7fe36d5fc7d6585f1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930000000000,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930000000000,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127000000000,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353000000000,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582000000000,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":18485,"mtime_ns":1785637803204159892,"hash":"834f242f9733612613b7b3fec33dcab61d8fe0885158a5bfa8ebef8e0705dc46"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360000000000,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11299,"mtime_ns":1785439224271183303,"hash":"ba898caafbe6c8f4c5729c2521917eeaf92fa3c649626232d326eb255f0c177f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":8319,"mtime_ns":1785202429973819450,"hash":"63ec5922aa1e9bdf8c3b7dfc5b0ccb555535cbf949e32a1055237ba86faaa146"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/io_order.py":{"size":5908,"mtime_ns":1785450376207250209,"hash":"eb0ebe1400d6d0f7fd614561986c6f5d2072946e459c90b06761f0754a0a482b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py":{"size":247,"mtime_ns":1783257567000000000,"hash":"88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":23874,"mtime_ns":1785453577889781284,"hash":"346dd41170ff374014149c5b4e0f442e58040200b17dc69b20d05f18fe235a59"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446000000000,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":20802,"mtime_ns":1785451180420705219,"hash":"ae069b93e5dca487543132014dab26c9a57ab6c714c3613d3e8527b589fff282"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539000000000,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447000000000,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169000000000,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196000000000,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930000000000,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930000000000,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594000000000,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":24037,"mtime_ns":1783746967000000000,"hash":"4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200000000000,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868000000000,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3984,"mtime_ns":1784993089000000000,"hash":"dd56d9197b4cddc60570bf5eb1851d4a426ab226858beb95bccb33a839471ea5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4639,"mtime_ns":1784993106000000000,"hash":"2640940d1851d60e7ba515d759a0aa06843b764742ae1ea2fabb95b6a16136f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":50167,"mtime_ns":1785473904076135989,"hash":"62aa40e704008af56df7fd19b786de94d291218976106b1c59ee2b2332639b5b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3610,"mtime_ns":1785592530823872489,"hash":"9c5f871f6c22e837bfee2fc52af6a06588f6f509441485054ec2a138bc91211e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5617,"mtime_ns":1784993093000000000,"hash":"514ea42e366fff44f1becbde6b5bfa219a224517e47dcdec25c8cf803a3ec0b5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938000000000,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127000000000,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614000000000,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400000000000,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632000000000,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":8976,"mtime_ns":1785807132026824584,"hash":"0501255ba896feb2ac32c24eff8f774aaa4663db1666e31c720087049219ddd8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092000000000,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268000000000,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818000000000,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142000000000,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":1735,"mtime_ns":1784957286000000000,"hash":"7ab4f5c5a28b0af2c8ddfc91bbc425a9fc5246956afdfd29ae4ca0af32d73cb6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_cert_required_service.py":{"size":10270,"mtime_ns":1785643505274516189,"hash":"9c4759dbc0c6f16e2fcfa151939776a81d28297e0fe3a6694515dd3c5df0c242"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7694,"mtime_ns":1783849439000000000,"hash":"7bb0a6d4dfdb1ec11e72e971873791b8e188939e7c6b7328a0a2f4f8986c9d1c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506000000000,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":15310,"mtime_ns":1783777749000000000,"hash":"c506eb84c104ce63b98cde5b16644f16ddcf4e3aa335089bedcb4c267d21fc0d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204000000000,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276000000000,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_io_order_service.py":{"size":31821,"mtime_ns":1785452761834196393,"hash":"b98fd44f3f42b76ef8ec0797f6842c68f8ccee56368969f5152d86ccafa69167"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py":{"size":6108,"mtime_ns":1783258109000000000,"hash":"aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_ocr_service.py":{"size":11166,"mtime_ns":1784036700000000000,"hash":"6f233150e253813a7c9da30e6e5d6046fdea01baa67c2589a332fe511ab795f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6707,"mtime_ns":1783845044000000000,"hash":"34f3d1d723890e294aac765a66d7e86ca87f4288f42cec674bb9151de091fe22"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":43616,"mtime_ns":1785447059067456413,"hash":"68481c4cfc56bb9b948f45a84f6ab7e467b0a00199f32bfd388dcd4c0d9eb3fc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460000000000,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450000000000,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248000000000,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23307,"mtime_ns":1783761151000000000,"hash":"0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22641,"mtime_ns":1783760938000000000,"hash":"a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213000000000,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":5592,"mtime_ns":1783858473000000000,"hash":"04c2cd67a7ec8190aa7a9db717a722cd347a52279ac3ef5bd284777f0698a904"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930000000000,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992000000000,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067000000000,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/customer_pool.py":{"size":9646,"mtime_ns":1780202350000000000,"hash":"4f0ab87e7a12534011b69f58079ca206d5443eee594849ab4aae728bb847de0d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095000000000,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000000000,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127000000000,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396000000000,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":2363,"mtime_ns":1783745556000000000,"hash":"e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830000000000,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127000000000,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/ws/__init__.py":{"size":26,"mtime_ns":1780108930000000000,"hash":"d4357444e9b5b0a8593000fb6e4dc37469ebe008e675bf42ec0d55d463f88fc6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517000000000,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510000000000,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/compare_dict_snapshots.py":{"size":11072,"mtime_ns":1783860128000000000,"hash":"cfc98cc72c5e387317cfa0a7670c47067fffe8f2e540d5cd580ee459e173e4ef"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410000000000,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_bx_data.py":{"size":32783,"mtime_ns":1785455807105877935,"hash":"16751fcd542e209535216a0516d78b62eecb81732d7fe0f9ec051fdf811e93b6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql":{"size":454,"mtime_ns":1783254856000000000,"hash":"d40ab4c556ab285498f4689c21736832deddc754a9a2b7d806e870ccb39fc9ae"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_clue.py":{"size":18423,"mtime_ns":1785455807106788561,"hash":"72b84e497176bc63264c26d891c591c839f9dd9788988043c5752413c1b62a09"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_contract.py":{"size":36352,"mtime_ns":1785469153230627041,"hash":"b78319ae19a0089684e1ffe1993a1b62be2d687ab65a3e69da423247e0d4d4d0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py":{"size":25235,"mtime_ns":1785455807108557895,"hash":"f30d5a50a28a1130325a9d9db88586bcae9e2a39434f077ded25f847af2ed66f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_opportunity.py":{"size":23720,"mtime_ns":1785455807109188438,"hash":"f98964806f32c3020bdd7d644d930760d6ea3ad5162d5f1d6125494263dd5598"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_payment_invoice.py":{"size":13601,"mtime_ns":1785455807109946855,"hash":"c4af77164dac9ba4195c3d239c9679ea367b92f5f7500139f3b59547525af24e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_product.py":{"size":14973,"mtime_ns":1785457303643810528,"hash":"83b693cbc1a590f7a3cd6af2387e638f28474c230fc6f4c0a2813f343d35d887"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_product_category.py":{"size":16785,"mtime_ns":1785462269008382807,"hash":"35d9a064be6f0ac00b6b2162d77d710a2c4f108824eb78425de2341d576cf7fa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_quote.py":{"size":27580,"mtime_ns":1785455807110995231,"hash":"4ac389eb6cb7437d4f5e8203d9908efec9836046ce8628a5e4be1f8b8ddd52cd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_sys_oss.py":{"size":23401,"mtime_ns":1785468795797340265,"hash":"f2d9da1743e3997bf7361d39ff66eab588d7dd55d2114dc9cf6796f4f697a9c3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1785455807112164732,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql":{"size":1562,"mtime_ns":1783256051000000000,"hash":"82a0ce8c5293f5051967633c1c2e0a1dc60e1fc7c97919c9e0866246bbcbe3d1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql":{"size":6367,"mtime_ns":1783256049000000000,"hash":"5f6964d1ea2712d3d72c8f43f08c16597d85fe79f3f54c8be99962090d6c2b67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586000000000,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793000000000,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958000000000,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340000000000,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697000000000,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744000000000,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_users.py":{"size":28602,"mtime_ns":1785455807113727900,"hash":"f5626fd3ca8bbc16275862080365c3ea2a27fd0f608e2243a284493762a8f735"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration/minio_url.py":{"size":4770,"mtime_ns":1785465354405875664,"hash":"54a1bf95512c0a8b5feeb518ea3af76983bb1b0a3ba645898b07debdb2cc52e9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql":{"size":269,"mtime_ns":1783760394000000000,"hash":"a5f66647cdb4f0f403689b47b804f8099d7d710753823ef3ddc5e7a5a9ca4ca8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_add_finance_dept.sql":{"size":1697,"mtime_ns":1783855927000000000,"hash":"4ce457089ead5c063ae8e1a6d6553416deb43c54a7edddb574ee2572390aba99"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_affiliation.sql":{"size":753,"mtime_ns":1783845019000000000,"hash":"6d450d264921f43c4e74ee4a2bcfc8335d16f77d9e0413267389741a92bf4eb5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_type.sql":{"size":1662,"mtime_ns":1783843576000000000,"hash":"24fcd156f97e2bdf2bd158beb5358fe7159874783a84716c6c18d2565cc8ac1a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_reset_sys_dept.sql":{"size":4517,"mtime_ns":1783855538000000000,"hash":"3795d6127a4dcf55d406be0fe673b8a83655723fe1f07b855e6fe45823d489fa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260713_pl_personnel_cert_split.sql":{"size":3436,"mtime_ns":1783946793000000000,"hash":"ce61899ec7e13f41de08dbc923dd1ff2a1a976603d13c8f09aa6fd5be9c914a2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260714_pl_ocr_usage_month.sql":{"size":1270,"mtime_ns":1784032423000000000,"hash":"d7018a4e5be9760846731440be98e53584d8e1461fc4ea54a0c8db61c666e7fe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter.sql":{"size":11104,"mtime_ns":1784122573000000000,"hash":"548dab479fcde4bf1628ca2093fd7840720473a774a5289b55bfd4f46b902153"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter_bill_price.sql":{"size":901,"mtime_ns":1784122547000000000,"hash":"11a4eb6f3b4d89c1a5141bd9a85e931517984b77ac213f5842dc590f928fe1cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260719_pl_inbound_outbound_order.sql":{"size":10843,"mtime_ns":1784427911426172052,"hash":"baab6333d8e0865e72a9c474eb642bd5b166f9d70a6db5825d315574f66df069"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231000000000,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279000000000,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163000000000,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/refresh_business_role_menus.py":{"size":3812,"mtime_ns":1783858483000000000,"hash":"b2c76109936791e1f624e239b24832237fa0256b38b98578e39825ac215fb166"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/renumber_crm_product_no.py":{"size":9071,"mtime_ns":1785455807114125233,"hash":"320c63801100ea8e9fb62abfb44b3487139377e293310593a877ab2d06e9d2e3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102000000000,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql":{"size":82807,"mtime_ns":1784948075068625581,"hash":"b712bc6d4b5a248a26706137f601e26d81bdb7ffdae016ff818a77155afe15a8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/setup_business_roles.py":{"size":14256,"mtime_ns":1783858477000000000,"hash":"ac12df2cf75826931c85f4deb3ae28614e31ea825d0beb3cf351a8d4f5cb1071"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/test_aliyun_driving_license_ocr.py":{"size":5130,"mtime_ns":1784032210000000000,"hash":"13d43c9144c3795b8870fbd900ed14f97ae22ee043e2c265a5151525666abebe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/verify_web_menu_codes.py":{"size":2535,"mtime_ns":1783858485000000000,"hash":"16c9c072b5b80fb309d56823963ebd0dd1f437a3f74d7f82711dd8a7c2de86d2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355000000000,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/wuzilong/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661000000000,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048000000000,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647000000000,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611000000000,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_dibang_plan_quantity.py":{"size":4258,"mtime_ns":1783777759000000000,"hash":"6af8eb3c1f6c7ad34cd62f1e82e9c6b96737ffd48ba74dda7c5f888c55dd11cd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_personnel_cert_required.py":{"size":3367,"mtime_ns":1785643508814042558,"hash":"4bc3552f4897e80dfc8bc28ea2566bd0ea6839e860d781653088066f57f414e6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/venv.bak.broken/bin/Activate.ps1":{"size":8593,"mtime_ns":1780108930000000000,"hash":"ed2ea10761f2798e8980084d754284d3fcb94f1284ae7085c35c16108fe24846"},"/Users/wuzilong/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356000000000,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/wuzilong/work/00code/shanxia2.0/backend/README.md":{"size":2752,"mtime_ns":1780114581000000000,"hash":"f5def8d25af0556a443c31a73e81f958883b60cfed8b31fac457f2832c2b6d58"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_io_order_enrichment.py":{"size":2097,"mtime_ns":1784450322000000000,"hash":"0f0fba3a24b2eeda1af4c30180306eca8da5f3dd1807f2e7591f4c46548440c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_io_order_site_feedback_status.py":{"size":3527,"mtime_ns":1785446258255101137,"hash":"fc53fd735e09b39e7cfe085ca6756f87396b6954f7057fde2bfca39524c34276"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_tripartite_cert_gates.py":{"size":2003,"mtime_ns":1784947499000000000,"hash":"312091d1017c2f22195a9317cd6f39c880cd5aa6b27acaf343181319f045ffee"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_carrier_eligible.py":{"size":689,"mtime_ns":1784947707000000000,"hash":"a3093ae31166d40d7836abb3575c0d4d50ff9e9bf23fee8e7a291afdec39fedd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/paste_recognize.py":{"size":1845,"mtime_ns":1784955105000000000,"hash":"2a1d015e85b6d9e25d54d94940627a713f4c6e7422dff350c20c4036176d11dc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py":{"size":9669,"mtime_ns":1784955109000000000,"hash":"2d4e38178168b11f3aeea64a4d0ab4ae60c9a93ad9d7d7568456374af65d7c57"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260725_pl_tripartite_menus.sql":{"size":2113,"mtime_ns":1784948072087970834,"hash":"c4897f7cff3c22535726f105d1f2e543eb551f6543e8b256ced85ae2a38ee683"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/invoice.py":{"size":5868,"mtime_ns":1784991682000000000,"hash":"65eced0eea3c4f9567842be545d2eb042c24398d5ff5eeda2aff693fcff06ff2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/invoice.py":{"size":1896,"mtime_ns":1784982228000000000,"hash":"909460b2883e85110e15a56d5755748e1bcb3e26dffac89684440813788e8668"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/invoice.py":{"size":14356,"mtime_ns":1784991670000000000,"hash":"fb3fac6667d415b032880fde5ef3413dfac150686b738d6b644ea07d0fc96412"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/invoice_ledger.py":{"size":10778,"mtime_ns":1784980394000000000,"hash":"2b67dc7e5d7280235dbe594bc6a984747ceb3415a527c78516cd60ef3ebccf1f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/crm_supplier_hazard.py":{"size":3425,"mtime_ns":1784998230000000000,"hash":"2365e02c6f2584dd6d18e1ad3c8d3075096777b244cc1430ef913254c61a9442"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_bx_invoice_ledger.py":{"size":1427,"mtime_ns":1784980394000000000,"hash":"9fc702e7becd491b05b730b711ea911f393f2d15509bc5f03f4e70edf7770a9b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_supplier_hazard.py":{"size":855,"mtime_ns":1784996182000000000,"hash":"ce8bd619b1a6dc746541a57eccc095d19ccde3bdb88341995631e15fcfb14bca"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_pl_plan_create_date.sql":{"size":536,"mtime_ns":1785140686875543544,"hash":"0694b0b031a6461d8a8940f7403739a8d20fd018403a02a8f1e0e8bf2bc1490f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_plan_create_date.py":{"size":299,"mtime_ns":1785140895170402200,"hash":"7a05f3fcc2d9a36f08b0801f6fbf6ee4fe58982d9212d7a10a70b8b4d41b6f85"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_crm_product_brand_alias.sql":{"size":4594,"mtime_ns":1785160650030737687,"hash":"f9f6ea6ca8e31cf5622a31f8303fe81174769b7d094645a88dccfcd6484b9cc4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_brand_archive.py":{"size":3334,"mtime_ns":1785453570763074999,"hash":"feca7ad16664603f04ee7fa38f03187ecfb70978cc41fcdb47d3fbfb54a11fbc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_inventory_service.py":{"size":7058,"mtime_ns":1785453321817830521,"hash":"a13cd5ea34dabe91b4663551824c3da9fd2a64ac3fcbc46b2b099644f308b457"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_split_brand_from_product_name.py":{"size":5120,"mtime_ns":1785202591782265408,"hash":"d9d9b949cc5f275764b7ea771616141084a0c7cd256dd3262bf532cf4ac0f20f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_brand_archive.py":{"size":2440,"mtime_ns":1785453323711185768,"hash":"2a704d8278c46f510fa020cd9aed4ea26fd978262d7fe728287bcfe5726798e9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_pl_plan_plan_date_nullable.sql":{"size":223,"mtime_ns":1785439209757662121,"hash":"50a633398cc1c8288c8b5fa221885272ca963c4b777b70102c96632f2d51047a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_feedback_brand_qty.py":{"size":9813,"mtime_ns":1785452749855419713,"hash":"c67d06fc7ac5cc9b3be0c2005f30a4914ca97c27cd5a7c80e7814382cb05c82d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_pl_feedback_brand_qty.sql":{"size":4927,"mtime_ns":1785445506581710120,"hash":"618b647158c133824ead60382d2b6e73713ea32a7b2224efedea431e071cc89a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_feedback_brand_qty.py":{"size":3424,"mtime_ns":1785452788497663858,"hash":"1fe2a5c0b1968f864ef22a436b0e13a697977ef09a71c6e8bfda46da25825f90"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_product_display.py":{"size":3590,"mtime_ns":1785451173102957680,"hash":"728e1d79035875ac350201c943241493f04006a2e1f71d7e3e41571eeac721e5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/backfill_crm_customer_license_urls.py":{"size":7789,"mtime_ns":1785467213374029636,"hash":"a0faaa83477187d8b4a9299d1b170f5ea2c5ca3b450fb4437bf1dc30ab1b5b1b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/backfill_crm_contract_attachment_urls.py":{"size":9795,"mtime_ns":1785469147228035015,"hash":"6331fa977cbb794c3ee9cb072692c63b05f23f071ab8df1d0b8368455af3b82c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_bx_reimburse_invoice_attachment_id.sql":{"size":784,"mtime_ns":1785473095766881076,"hash":"702c6845b0b936d4a5a06918fcebefd71b38ca4b2dcd7e51ee45af19c77407b6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py":{"size":3632,"mtime_ns":1785560604338687232,"hash":"7442687a3dde4a0a354064c3fef7503d37c9ce3f1991873e64befd2d1812ba4a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py":{"size":1015,"mtime_ns":1785560055190832342,"hash":"2a7e91833de33ed92ac8e9157746f15fd7a9e7c5f25bf043dfb0dd7c77859715"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/quote_approver_setting.py":{"size":291,"mtime_ns":1785560601528774704,"hash":"e978cab24ee46f23b7432bb6f411e760f2d8d782a924efe811608c2200fcba0a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260801_crm_quote_approver_setting.sql":{"size":2117,"mtime_ns":1785560449173091996,"hash":"66c92fbf3031539484e241934c14fee379a70b1b179a8b8345c5ae70c8498f14"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approver_setting.py":{"size":2875,"mtime_ns":1785561463337293690,"hash":"7c3aeed13e66f67159220b323298b414a9d1b1f9ca6b679dca31532be86a132e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contract_approver_setting.py":{"size":294,"mtime_ns":1785561469090499071,"hash":"fca8a7cb3a75c82e9c3395f2471e20dfcdc469a8fd299c9c6ce5e79576a6c3fb"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260801_crm_contract_approver_setting.sql":{"size":1903,"mtime_ns":1785561454940491268,"hash":"f81470b97da71283b9d3defc81fd177cc2fea1dbd487febaebf7a8f24a73c71f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260802_pl_vehicle_personnel_photo_urls.sql":{"size":468,"mtime_ns":1785637173564154921,"hash":"852680d19f6b71def29908a718ae92d9169a025e9d78808b9f8d000bdc61fb52"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_vehicle_personnel_photo_schema.py":{"size":1231,"mtime_ns":1785637623899998875,"hash":"e4c64e35446196f1de7ba0e719be054d019ec8b075f5ea8c128b8a60c59695aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py":{"size":1895,"mtime_ns":1785728562441120867,"hash":"25dae1355359a12d0b1d02b7e958d8fb5d337aaad1741d6786a44660d703e624"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/public_vehicles.py":{"size":2231,"mtime_ns":1785768179156681871,"hash":"7a98a605c181669b08d642c45a0dd6fa523939af5125b5ad0bae0de2ee95b2f0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_public_db_vehicle_plates.py":{"size":323,"mtime_ns":1785768224738481967,"hash":"616ff1488b2b17e419c4e4ec368aa2764afea116722010cad785218a4e12259a"}} \ No newline at end of file +{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345666495916,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2186,"mtime_ns":1784035957226402359,"hash":"5af681963b36af57eaca7fdfc7f707255008ffba18df1a8c2d5903f58fcbf159"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930807298966,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930808197763,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930810184774,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973062398026,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930808681891,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930808144846,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930808426681,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930810245983,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930808614098,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002126415047,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5164,"mtime_ns":1782688288640487823,"hash":"370a7c2b5de64c6b72f98bcf7fbbc166ba2a7f5673c6e1426b10bcc88220bb27"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":14214,"mtime_ns":1783851628178366109,"hash":"aeac623e3020fee4cdd01e463ced23e4e03539a17c5b57dcbd9d88aac5a4fb4f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5537,"mtime_ns":1782688289303121533,"hash":"f4edc5824466d0096b3b70aeea7b4460a9fa54ca0929421759b625b60c56c505"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281816798167,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930726090799,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930725878047,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282481859519,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282878700273,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6525,"mtime_ns":1782688288935534527,"hash":"a7bf593eff76d08b338f48f9a035fa1493f4ca88867bf9fdf4e9af06b6165759"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354647000111,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5418,"mtime_ns":1782688289691482227,"hash":"5bd3fd93c60956dab0268e9f4e6cf315d0a9c9656d649f4abb40858ba1d32911"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":1012,"mtime_ns":1780108930727448890,"hash":"7de1eb94b9fbb897a7b362ffdb5df5ab1020aa7247c7c37a2a2a2aa5cdbac8ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290021142467,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6604,"mtime_ns":1782688283203296227,"hash":"ebb38fcd527fdac4dcbf0632ac926e4cbe95dddb5fab79c3142b010e7a48ea7e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930726010257,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678100096646,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":12682,"mtime_ns":1783858998986861832,"hash":"b98ac3f3bc95c2b42c481ac9ae9137528e55845d425e5d2184827dc424304e42"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649232229595,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854866245387,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50055,"mtime_ns":1782855138852859245,"hash":"a5e74057222e3359f6077b2fd05b2db4d058ec2702243cc449bff8d448d44a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854865038715,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854865571301,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930810395025,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992914903818,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":5592,"mtime_ns":1783858473640363111,"hash":"04c2cd67a7ec8190aa7a9db717a722cd347a52279ac3ef5bd284777f0698a904"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/ws/__init__.py":{"size":26,"mtime_ns":1780108930810617026,"hash":"d4357444e9b5b0a8593000fb6e4dc37469ebe008e675bf42ec0d55d463f88fc6"},"/Users/zlwu/work/00code/shanxia2.0/backend/README.md":{"size":2752,"mtime_ns":1780114581291841672,"hash":"f5def8d25af0556a443c31a73e81f958883b60cfed8b31fac457f2832c2b6d58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/crm_models.py":{"size":66592,"mtime_ns":1784122553836870448,"hash":"1a0a09e5f5d9eb2d5e18e2f7d851287442ee370a3abfbf0b487ee4b4a18d43b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/__init__.py":{"size":0,"mtime_ns":1780201410213315055,"hash":"a6d57250b43cbdecb56b7a9d55d29642b808be368733e14b7df2bd196f54d64d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/product.py":{"size":7820,"mtime_ns":1783820526204158517,"hash":"b8d626eca1b0fc6b0216a66afb1cf234155310d3077d940d5158111f873a414b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/__init__.py":{"size":0,"mtime_ns":1780201410210254759,"hash":"9b8fcaaabdc85883c9ef392b596b60db0bd3b2f1623fc8012e55003f234a9875"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/product.py":{"size":25974,"mtime_ns":1783820522540308906,"hash":"6d1fb7bc06a4f16c729b1b226377ffa38b9b47bf1cc75310dcefbb8f6e480574"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":151289,"mtime_ns":1784119033682636742,"hash":"ceaa64369ef66891310f391836c580beefd5a69854b3a5a0539a419744a311b0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/customer_pool.py":{"size":9646,"mtime_ns":1780202350147822837,"hash":"4f0ab87e7a12534011b69f58079ca206d5443eee594849ab4aae728bb847de0d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/tenant_context.py":{"size":693,"mtime_ns":1780201410210198550,"hash":"0a810658d894d35b9e981faa1448e1d02d617ecbe563bd711f6ce5a8f9db1861"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/pool_rule.py":{"size":1848,"mtime_ns":1780202212734233591,"hash":"b0331e17e801d206fba2fa89df1a66d1758d850dc5547e076218e16c8211a3e8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer_pool.py":{"size":1340,"mtime_ns":1780202198698231150,"hash":"7a6b76e0e39ada0783dfbee92280e9f06299b6662b08abb13ab1b0d9c70fe370"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer_follow.py":{"size":3716,"mtime_ns":1780201410213934514,"hash":"3979cecd62a4f2ee5dd925639572208e36b397620d91a9ce49a59adfcb2a9d55"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py":{"size":13811,"mtime_ns":1783823672041317102,"hash":"b91167282158aeb11046dccc4bf2f29a13307a0413b3d7b3c860b17d37f8ad4a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contact.py":{"size":4856,"mtime_ns":1780742840975948859,"hash":"60c714cc254d70f39b43205bbcb7fb4c563e807ddd070eefaaa952ae96048377"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/pool_rule.py":{"size":8816,"mtime_ns":1782687680547203228,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665525772610,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":23825,"mtime_ns":1782687664490640155,"hash":"5d8934ae6318de87b0761686fe491a7ec2be02792a85d84308c383af3193fa8a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664918872966,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410245078685,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410215906642,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237342131933,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310467813967,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386885207867,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":1584,"mtime_ns":1780201410212966513,"hash":"9349799b02a3531d8e1b46f9f70d3b6630afd7306663c779bd11f25448a16013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666050313280,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127112297110,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10565,"mtime_ns":1784195323916483606,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666592409903,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":92433,"mtime_ns":1783763318740360571,"hash":"b2362db2f2df750afc1c2263f5e6ac1ccd5daa8b93ad5650d56028f452597837"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127108406092,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353340106185,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127112307360,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352542520022,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854865860510,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022189075651,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674053739962,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705954031080,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305846991404,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":10069,"mtime_ns":1783821986040417425,"hash":"06c9f3deab3472b20429c12a618ae2d4d6efd3afa2353ac44cd52651a596af4c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669972916544,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830255260394,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127043319167,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127113233948,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":3679,"mtime_ns":1780242127112269527,"hash":"8b797e9dee6ac7ff806a8ea23bef5fedce648502ea23287e1b417e9f96d22c2e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":6916,"mtime_ns":1782687684650105460,"hash":"0b66714e36609688f7ce79ecda0679d20df115d2d64a0dff1cc0fc76df7dca6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13126,"mtime_ns":1782650413581368849,"hash":"cd2fc23852ead3c4db19e34bc33c1560fc5f5d4cd7cf51b61def8bf37c44c853"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":5961,"mtime_ns":1780745856749183842,"hash":"29c52786df396aededd0850e3c8a3a36f3fb6a952af03adbe1768dae212b6804"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48137,"mtime_ns":1782687675213433843,"hash":"a2ff5c5b74a2becd0949aab6aea8cf63440cce2c0bb22e1a1661463e0b2e963d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":10537,"mtime_ns":1782687676011228777,"hash":"57d9d5b4fc2bc8b68c0388a4b8a9c1322539ed7e538764fc23521916429e07c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254630170341,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314936479798,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127112382277,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":25633,"mtime_ns":1783825326810765171,"hash":"c51b70766aae85dbc537bf5b48a2c350c73ea8e93bcad2a9660d8d45c6d0979d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_approval.py":{"size":13958,"mtime_ns":1780763324103831772,"hash":"3d7fbbb90728568a2577e52d8986ccbec8f599d04a0ef9e330939d1fe729bc98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_routes.py":{"size":29547,"mtime_ns":1783825526614169736,"hash":"95969972c0773528b91d9728d303feae5ca7187d89a49495d5129dcedffc19dc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_template.py":{"size":2897,"mtime_ns":1780229101351431207,"hash":"935adfc7659e31201cd83ba8387bf6abcb39e7cdc63fa4692d699ed874cf113b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_change.py":{"size":2496,"mtime_ns":1780229100306468735,"hash":"05af42f088f6cc400c1e3445d4a2c96670edf482328b361aa4f231230d958729"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_template.py":{"size":11858,"mtime_ns":1780229131746659196,"hash":"b9bdbe6a33c933aefcb25cc57e94b2fd2dc75f8e5822434f3912aa0153dfca00"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_change.py":{"size":15985,"mtime_ns":1780229123819597506,"hash":"771b110d3d136c45106dd61171c724c559b5b4bf572ea7b8c2b648f0bfe629c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354912882614,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602888987090,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780925056463,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":2363,"mtime_ns":1783745556349035158,"hash":"e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396630684570,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16644,"mtime_ns":1782003187247224106,"hash":"37c7372f38d76f1020d31ce8ca9e7f0cb3bc3c204a50deb092b494ce8c983fbf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556881734563,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187605255900,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":777,"mtime_ns":1780751360180065853,"hash":"3525eb716c238682a07a116818d318b8a494fb24b9cefca5114d30bc50d095a5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293668634639,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293973889288,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913604714906,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913326708063,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4366,"mtime_ns":1782650887981843546,"hash":"15321fe1df77a555af579474434e3b401bd042555d19ea81a066ef754915612b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594045301798,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5446,"mtime_ns":1782650919964956073,"hash":"1d72733147e0ed997094d7f92d1c1f5e1e108093a50e8e523b3b016c3dd676e4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3931,"mtime_ns":1782687617846731919,"hash":"dba80b8f4e26bc59efd2b2aad6bd430c0315133a98bfbbe1b93113b60baba8b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871480000584,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296833335474,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898570675189,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":13370,"mtime_ns":1783745567004734594,"hash":"3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868959755751,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":24037,"mtime_ns":1783746967707088251,"hash":"4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3656,"mtime_ns":1780750869826924187,"hash":"ac98980bd5b6cbab6a9394b6debc678b050cf4df969eccbc5f2d419b615937cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":5638,"mtime_ns":1782688293517624966,"hash":"aa47d8e87982a4077ff067dff2955db9eb67171d6368bc636c1eea17ea7682f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":15431,"mtime_ns":1783747621462206303,"hash":"dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":34743,"mtime_ns":1783747614591546341,"hash":"ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15715,"mtime_ns":1783745581266319098,"hash":"0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200904804714,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570945208920,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200096708592,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614160787709,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py":{"size":2754,"mtime_ns":1780802262496001324,"hash":"d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py":{"size":591,"mtime_ns":1780802980783200520,"hash":"d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619867600032,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py":{"size":3780,"mtime_ns":1780802985736476363,"hash":"aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py":{"size":4776,"mtime_ns":1780802999039302982,"hash":"cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py":{"size":1788,"mtime_ns":1780803836065964235,"hash":"30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py":{"size":4167,"mtime_ns":1780803836065953735,"hash":"acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py":{"size":9619,"mtime_ns":1780803836065902943,"hash":"e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":3948,"mtime_ns":1782219604456801044,"hash":"19ea80e59a1309518ad6183a6b0b8751401f4724d7b5101d47defc2417ec36c8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16423,"mtime_ns":1783156035144390497,"hash":"901602a8fe362aec9b89ac6f2ee578f1eeb105fcf12a1a6c3ff4ef98f4ad1ef3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py":{"size":10663,"mtime_ns":1780803878293678536,"hash":"e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5347,"mtime_ns":1780935341753643087,"hash":"f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":14940,"mtime_ns":1782687688848020877,"hash":"71d143eb05d0d3f785f5962892bde64dee3c2937139c975b52af62628f308d46"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py":{"size":24042,"mtime_ns":1780804029884092079,"hash":"bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853674329877,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":4876,"mtime_ns":1780935329287069452,"hash":"474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py":{"size":619,"mtime_ns":1780925759582999052,"hash":"6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py":{"size":4748,"mtime_ns":1780925781827569662,"hash":"8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17098,"mtime_ns":1783156035873015369,"hash":"bd2c8344e2ab765ceb2a2c91f5cf2facea319ae66c9097f5468a7f5d753b67dd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6955,"mtime_ns":1782219619253708711,"hash":"b9e97f66a0a248d06c2f960c3f5ac4fb3369cc976c16709227dee0cc1513d221"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818442134500,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990870580151,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340330906738,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095845033710,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092108105489,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400833764213,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102157096922,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1782011225157870526,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632326984469,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268573313971,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647395760353,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":61386,"mtime_ns":1784032430468998611,"hash":"e23b4653b806a1917eba187d8a3584dff598ad74bc21c8295c179abf0bcfe17e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":22053,"mtime_ns":1783754594278544472,"hash":"f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":17945,"mtime_ns":1783211732481443217,"hash":"477ebd0c4c084cf8bccd10865e4703b6b34829d30b791c32232d96c1bac2947f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582112287271,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11275,"mtime_ns":1783213205154827373,"hash":"557f9e9f06ab6f18eb33f54a579fb8ab0f6992d9b25bb530a2ec49d5b2365708"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7742,"mtime_ns":1783242580346813026,"hash":"9b57e84bea4844ce93220773544064ed6979c5823b07831bc5fe734b6dc860d3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":48150,"mtime_ns":1783945795484267217,"hash":"a9a876816af12e43b3fa6b9dc748b74b7107f0cae590e68a2a789945617c620e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":33087,"mtime_ns":1783155250374329483,"hash":"6f7703d37ce761406d42f3be4e53ee85be0d3e43e5b880401087dde47ec6608f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1243,"mtime_ns":1784035957226411568,"hash":"7d66d74042036571b769e5364616560597a3c3347cb9dea6cfbe04c40483b5e2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10543,"mtime_ns":1783760751060550793,"hash":"2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":33513,"mtime_ns":1783849851800999450,"hash":"133db64dcfad9ae687b90084eb8f1b5f713ebabce852bba26b600cab52e51c50"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13188,"mtime_ns":1783242583174353699,"hash":"da03959cdab792ef503edae6ee27e45f9b5a8db1c63cdbcd97bafa85acc9be71"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510604174541,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":19762,"mtime_ns":1783849843323086946,"hash":"21d29a63b2dbd9178f2239d109c4e71e668c2caf85788dcecc34e7533f0df4e6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6707,"mtime_ns":1783845044115228598,"hash":"34f3d1d723890e294aac765a66d7e86ca87f4288f42cec674bb9151de091fe22"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7694,"mtime_ns":1783849439910099822,"hash":"7bb0a6d4dfdb1ec11e72e971873791b8e188939e7c6b7328a0a2f4f8986c9d1c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":39798,"mtime_ns":1783768766029953703,"hash":"0e0620d2878e4b28c560daf8095d30e8e8a281653d40baf01ef94e899ce114e8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":9697,"mtime_ns":1783209147246415813,"hash":"aac3cfd1a30df824d1a4867c5b358e3155e19a051dbaffbae89c995b55767a8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":15310,"mtime_ns":1783777749440894312,"hash":"c506eb84c104ce63b98cde5b16644f16ddcf4e3aa335089bedcb4c267d21fc0d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660985345577,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898570930774,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276143253698,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":8470,"mtime_ns":1783211738132414332,"hash":"08745e00bfa7bd756fbeef7ae7a1d3bf957d6403da51cf7825def02a38502d01"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460524562610,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248175867714,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204589333188,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048011371782,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/zlwu/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356701497576,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085670691361,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163950860693,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231443625388,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279067732462,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506729785291,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517176615737,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938092205819,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142571517234,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610196676295,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611517772849,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":3479,"mtime_ns":1783848338604396640,"hash":"7d12991ffd2e3d7b768aaa587d7f9ae1ed4d641f65ec3f053ed103fc74a5a005"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169098881801,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867411719704,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22641,"mtime_ns":1783760938743438422,"hash":"a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447503836332,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447583143336,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23307,"mtime_ns":1783761151873696556,"hash":"0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196169930337,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220189638136,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213546483763,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254052728785,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326717654441,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327268762002,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834895168051,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446819247296,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450356380638,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360746020898,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539731495489,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6875,"mtime_ns":1782907484528042124,"hash":"7880a37b53dc2e88534ca5750097792ee7e893c94d87bf1eecd8b6055fbba181"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000967398,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586212866839,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958449266456,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744737524455,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340132373787,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697391655899,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793703960795,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py":{"size":247,"mtime_ns":1783257567212910729,"hash":"88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py":{"size":1203,"mtime_ns":1783257582921626135,"hash":"05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py":{"size":6108,"mtime_ns":1783258109621359209,"hash":"aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql":{"size":454,"mtime_ns":1783254856670799736,"hash":"d40ab4c556ab285498f4689c21736832deddc754a9a2b7d806e870ccb39fc9ae"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql":{"size":82266,"mtime_ns":1784119136237565207,"hash":"e0c15f9bd4525b6e447a7e8da3aa6bf93c14c47a1b99dc5cb4bee9dfd1a60e8b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql":{"size":6367,"mtime_ns":1783256049450807031,"hash":"5f6964d1ea2712d3d72c8f43f08c16597d85fe79f3f54c8be99962090d6c2b67"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql":{"size":1562,"mtime_ns":1783256051207137180,"hash":"82a0ce8c5293f5051967633c1c2e0a1dc60e1fc7c97919c9e0866246bbcbe3d1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql":{"size":269,"mtime_ns":1783760394518896877,"hash":"a5f66647cdb4f0f403689b47b804f8099d7d710753823ef3ddc5e7a5a9ca4ca8"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_pl_dibang_plan_quantity.py":{"size":4258,"mtime_ns":1783777759829460303,"hash":"6af8eb3c1f6c7ad34cd62f1e82e9c6b96737ffd48ba74dda7c5f888c55dd11cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_required_service.py":{"size":10503,"mtime_ns":1783946967244318920,"hash":"07991890446a106b2d520e5e3c65e27af90c13d00945516ef1ce9bdf2e389879"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_type.sql":{"size":1662,"mtime_ns":1783843576747470605,"hash":"24fcd156f97e2bdf2bd158beb5358fe7159874783a84716c6c18d2565cc8ac1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_affiliation.sql":{"size":753,"mtime_ns":1783845019912997576,"hash":"6d450d264921f43c4e74ee4a2bcfc8335d16f77d9e0413267389741a92bf4eb5"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_add_finance_dept.sql":{"size":1697,"mtime_ns":1783855927743333340,"hash":"4ce457089ead5c063ae8e1a6d6553416deb43c54a7edddb574ee2572390aba99"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/setup_business_roles.py":{"size":14256,"mtime_ns":1783858477739135462,"hash":"ac12df2cf75826931c85f4deb3ae28614e31ea825d0beb3cf351a8d4f5cb1071"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260712_reset_sys_dept.sql":{"size":4517,"mtime_ns":1783855538627076795,"hash":"3795d6127a4dcf55d406be0fe673b8a83655723fe1f07b855e6fe45823d489fa"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_users.py":{"size":28602,"mtime_ns":1783855936414773748,"hash":"f5626fd3ca8bbc16275862080365c3ea2a27fd0f608e2243a284493762a8f735"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/verify_web_menu_codes.py":{"size":2535,"mtime_ns":1783858485781974173,"hash":"16c9c072b5b80fb309d56823963ebd0dd1f437a3f74d7f82711dd8a7c2de86d2"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/refresh_business_role_menus.py":{"size":3812,"mtime_ns":1783858483854587001,"hash":"b2c76109936791e1f624e239b24832237fa0256b38b98578e39825ac215fb166"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/renumber_crm_product_no.py":{"size":9071,"mtime_ns":1783861492796558653,"hash":"320c63801100ea8e9fb62abfb44b3487139377e293310593a877ab2d06e9d2e3"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_product.py":{"size":13287,"mtime_ns":1783860925852062495,"hash":"3e5dd462f2ad6218d2547b66db741132d0179037e6dd3ac24ddaa02a5b970d4b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_product_category.py":{"size":15583,"mtime_ns":1783860690842141129,"hash":"9cbdfdf3335a366aebd0a605431b3952ea9aab26bd564d075d501479ae0b20f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/compare_dict_snapshots.py":{"size":11072,"mtime_ns":1783860128258640426,"hash":"cfc98cc72c5e387317cfa0a7670c47067fffe8f2e540d5cd580ee459e173e4ef"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_sys_oss.py":{"size":22858,"mtime_ns":1783885816251409459,"hash":"20f59e7e19a0c4415bdf17cef32a31db63220346688b3dbe06bc2c52a42d475c"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration/minio_url.py":{"size":4770,"mtime_ns":1783884947929403985,"hash":"54a1bf95512c0a8b5feeb518ea3af76983bb1b0a3ba645898b07debdb2cc52e9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py":{"size":25235,"mtime_ns":1783886258025843303,"hash":"f30d5a50a28a1130325a9d9db88586bcae9e2a39434f077ded25f847af2ed66f"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_opportunity.py":{"size":23720,"mtime_ns":1783887271166904779,"hash":"f98964806f32c3020bdd7d644d930760d6ea3ad5162d5f1d6125494263dd5598"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_payment_invoice.py":{"size":13601,"mtime_ns":1783888353771580120,"hash":"c4af77164dac9ba4195c3d239c9679ea367b92f5f7500139f3b59547525af24e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_clue.py":{"size":18423,"mtime_ns":1783887050391179085,"hash":"72b84e497176bc63264c26d891c591c839f9dd9788988043c5752413c1b62a09"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_data.py":{"size":32783,"mtime_ns":1783888844450695833,"hash":"16751fcd542e209535216a0516d78b62eecb81732d7fe0f9ec051fdf811e93b6"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_contract.py":{"size":36188,"mtime_ns":1783888258230435217,"hash":"a6269c8eeff19f4ae8ff7d22a3544ebc4a1858aaecd59583e6afd140a7fa766e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_crm_quote.py":{"size":27580,"mtime_ns":1783887475224438064,"hash":"4ac389eb6cb7437d4f5e8203d9908efec9836046ce8628a5e4be1f8b8ddd52cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_pl_personnel_cert_required.py":{"size":2829,"mtime_ns":1783946968430310316,"hash":"e89b3aa798794dc77085af5c4b880cdddcd2c0590c3cc3414f8a5389fd5f6d93"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260713_pl_personnel_cert_split.sql":{"size":3436,"mtime_ns":1783946793684378982,"hash":"ce61899ec7e13f41de08dbc923dd1ff2a1a976603d13c8f09aa6fd5be9c914a2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/ocr.py":{"size":1889,"mtime_ns":1784035957225824939,"hash":"1de70651a8c1c9e0e208bdccb45d0b9c7e7a0f8f9a663941bdbd5ae278234b1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_ocr_service.py":{"size":11166,"mtime_ns":1784036700055450000,"hash":"6f233150e253813a7c9da30e6e5d6046fdea01baa67c2589a332fe511ab795f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/test_aliyun_driving_license_ocr.py":{"size":5130,"mtime_ns":1784032210609057675,"hash":"13d43c9144c3795b8870fbd900ed14f97ae22ee043e2c265a5151525666abebe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260714_pl_ocr_usage_month.sql":{"size":1270,"mtime_ns":1784032423540552834,"hash":"d7018a4e5be9760846731440be98e53584d8e1461fc4ea54a0c8db61c666e7fe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/price_letter.py":{"size":3994,"mtime_ns":1784122554297827011,"hash":"6cd75fdbbd6a2dc65cf0b0b29e6206910fbd86f8bedf05bb56a8835130b81829"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/price_letter.py":{"size":13292,"mtime_ns":1784122560635390924,"hash":"1edbd17d41fcc4205faf15de5ce47aecc5459a39d06a920689379a65cdb9c3d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter.sql":{"size":11104,"mtime_ns":1784122573332360310,"hash":"548dab479fcde4bf1628ca2093fd7840720473a774a5289b55bfd4f46b902153"},"/Users/zlwu/work/00code/shanxia2.0/backend/venv.bak.broken/bin/Activate.ps1":{"size":8593,"mtime_ns":1780108930820914793,"hash":"ed2ea10761f2798e8980084d754284d3fcb94f1284ae7085c35c16108fe24846"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter_bill_price.sql":{"size":901,"mtime_ns":1784122547991214820,"hash":"11a4eb6f3b4d89c1a5141bd9a85e931517984b77ac213f5842dc590f928fe1cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982000000000,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649000000000,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50332,"mtime_ns":1785469147058813215,"hash":"b2038d923003b4b9c0545217d6f8077b811fe7d15881a56daaeb28eac3024538"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":827,"mtime_ns":1784980394000000000,"hash":"8bd7939017216a2b3c9ea7ed910167f7baf5c02cf724c10b392f6f286f6368a5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":13404,"mtime_ns":1784992736000000000,"hash":"e09d555bad6b1a0ab289d045dda5a4231a54316e34616f60b03f724f9152e73c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898000000000,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913000000000,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15715,"mtime_ns":1783745581000000000,"hash":"0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":17764,"mtime_ns":1785473021311995564,"hash":"7bdd9f93c359800774b48c268d6ef56c6abcdc9ffbad3f50ddb71a88da506014"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913000000000,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":152113,"mtime_ns":1785808418671982120,"hash":"bc92066b2fdde0314bbc39160a8f70e812c38ac3d4985eb1bc575946716e0194"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_contract_routes.py":{"size":31366,"mtime_ns":1785582201623110512,"hash":"8dc61a9acfd6c688d60733291382cfee9712f600b370c4f6e7a5fc4c70e12f37"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354000000000,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":27413,"mtime_ns":1785582207627862716,"hash":"030260b446ad51a39654ee9bc869cc8904e07390d47447b0ce238888ba15316e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200000000000,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340000000000,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16637,"mtime_ns":1785807172285029476,"hash":"e64e316ab276224ca0574ec9bc8730b67e8658459f6f0bfb4915ccad0958a177"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17807,"mtime_ns":1785807158093888530,"hash":"7736ecd8c800103be3fd20ba864e611a97e13ed195613259b96f9530a30d292b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898000000000,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":15133,"mtime_ns":1785807184507708871,"hash":"69a9b973a3c30f447358a6d7fbb7aa52dbac7301c1f726e233063c51b0403a5d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854000000000,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854000000000,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854000000000,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1401,"mtime_ns":1784428053000000000,"hash":"dea849a84ab13ec8daf7782c055f04682fb763bbfd2f184e37ace15312421905"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":32960,"mtime_ns":1785637805321715091,"hash":"5f2a6a293a908b0c2dfd58836355ca79885e485a1a043a61d64f44cf8804430a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10543,"mtime_ns":1783760751000000000,"hash":"2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13443,"mtime_ns":1785202430756770222,"hash":"b14a59968214a71d272cc6fbfc2555a9ea39eb8174697a75bec673bdfda1b074"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py":{"size":12552,"mtime_ns":1785484571840900864,"hash":"c1508e2c882a86f5dc3982e2262762704a0c6ec3f15cbbca688e51ccefa6a4c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py":{"size":1203,"mtime_ns":1783257582000000000,"hash":"05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/ocr.py":{"size":1889,"mtime_ns":1784035957000000000,"hash":"1de70651a8c1c9e0e208bdccb45d0b9c7e7a0f8f9a663941bdbd5ae278234b1a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":54630,"mtime_ns":1785661005034111488,"hash":"78eecceca8996f6903e6d1a1e48910b913dcc8d847733a800e085ff66bb589f4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_io_order.py":{"size":6947,"mtime_ns":1785446228430209460,"hash":"74ac18f644a2fb5454714b0c26e4efb4f2838cbb579c3771ab3727b4ce7471ad"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":9607,"mtime_ns":1785451214459593031,"hash":"c9d7d58d5f52fbc38c57a35db878499e9007a23579ca4afcc1b23e9d89574f93"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":14689,"mtime_ns":1785451206327142197,"hash":"93ae31a9c31bb9d67b9b5bdb62c367a18b497fe10a48508a5d1ef13f02b3ba2d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":35018,"mtime_ns":1785447176422326611,"hash":"ef6de0a2d4639df270b33474966feb66b1366109bdf984062d0187b22189ed43"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6737,"mtime_ns":1784993134000000000,"hash":"e7cc69318bb266a6fb28a9e8163b16e459b879e6041b226d9870477d3bf1c378"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447000000000,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867000000000,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220000000000,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/public.py":{"size":12682,"mtime_ns":1783858998000000000,"hash":"b98ac3f3bc95c2b42c481ac9ae9137528e55845d425e5d2184827dc424304e42"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854000000000,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930000000000,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930000000000,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930000000000,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001000000000,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669000000000,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602000000000,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841000000000,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780000000000,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/config.py":{"size":7308,"mtime_ns":1785768184947508019,"hash":"c7bc60196540e82cc9e5cf603c9694e84fea7d958348782a72655c2a43a8bb4d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930000000000,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8432,"mtime_ns":1784993108000000000,"hash":"16fd3ff8a3dde7397d55829d83c8541f6cbfb11145bfa8f2ae4e28fcaf4e2f60"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847000000000,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853000000000,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930000000000,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610000000000,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930000000000,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930000000000,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930000000000,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327000000000,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254000000000,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326000000000,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930000000000,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834000000000,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930000000000,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930000000000,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930000000000,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":15372,"mtime_ns":1785592530623303275,"hash":"f4b21123bd305d7e59ebd95cd1942b150a95943d4c3b7288fd049c3ebdc4cc1f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/tenant_context.py":{"size":693,"mtime_ns":1780201410000000000,"hash":"0a810658d894d35b9e981faa1448e1d02d617ecbe563bd711f6ce5a8f9db1861"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930000000000,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930000000000,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930000000000,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930000000000,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354000000000,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930000000000,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930000000000,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/__init__.py":{"size":0,"mtime_ns":1780201410000000000,"hash":"9b8fcaaabdc85883c9ef392b596b60db0bd3b2f1623fc8012e55003f234a9875"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705000000000,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674000000000,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305000000000,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664000000000,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":101043,"mtime_ns":1785828105306264418,"hash":"369ddae942265f4492be1901fd0bec978288096dd18525fcc9f10d8eec470332"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approval.py":{"size":13958,"mtime_ns":1780763324000000000,"hash":"3d7fbbb90728568a2577e52d8986ccbec8f599d04a0ef9e330939d1fe729bc98"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13799,"mtime_ns":1785826264336040074,"hash":"c74f02d4dc391a4a35e4810c57fdd5f8f1b5ef7d3c2a6d1a9c152adce0e05fce"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":25015,"mtime_ns":1785808349102034724,"hash":"621df03833baf12a538b101ba7cc0cec90146a33a7cc72783dc1a28affeabe84"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665000000000,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237000000000,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085000000000,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666000000000,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666000000000,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":10069,"mtime_ns":1783821986000000000,"hash":"06c9f3deab3472b20429c12a618ae2d4d6efd3afa2353ac44cd52651a596af4c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669000000000,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/pool_rule.py":{"size":8816,"mtime_ns":1782687680000000000,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/price_letter.py":{"size":13292,"mtime_ns":1784122560000000000,"hash":"1edbd17d41fcc4205faf15de5ce47aecc5459a39d06a920689379a65cdb9c3d9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/product.py":{"size":36389,"mtime_ns":1785808415934897836,"hash":"047aa085aa60594ac230449596003a6451e9064f756c2d2b5046153e44d68ab8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48769,"mtime_ns":1784996795000000000,"hash":"dc5215156270917090fb404c6f7455b48617e9554305fdc4c66fe70f0befe423"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314000000000,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":13183,"mtime_ns":1785201813742913960,"hash":"20f79ad1a386d9f3d5192d154132b799380e754778f98cf5c940a782626fc8bd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254000000000,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310000000000,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":7182,"mtime_ns":1784996460000000000,"hash":"2c244898e16084f533aa42a0a3b45106a99515ebf627d37557b22549fd1f0035"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6593,"mtime_ns":1784993073000000000,"hash":"a636f1c45bd0dd0b2e6c337061f3d1ce4119b130d444d6b31bf7f1be4782fa67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5379,"mtime_ns":1784993069000000000,"hash":"750a883eb752a96e26f22267171a941345201afa9d2ff243c4c4569d02a735ea"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5456,"mtime_ns":1784993071000000000,"hash":"d7f64d813e31ed3751b6399245ba502f953644569c75dce0a98598d38b0efde2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":961,"mtime_ns":1784993074000000000,"hash":"ba2c043bc078010880031293f6e2f0f01e9b820d191ff6989bf65983903f063c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678000000000,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282000000000,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127000000000,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352000000000,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":2688,"mtime_ns":1785469127578334497,"hash":"88d704b7041a2ae458860c7a93357cff50bc5a8164939151326c22266f300487"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5081,"mtime_ns":1784993075000000000,"hash":"12619e8ae3e341e757e8696459241924d761161a629b2804d0e1c3611b4d6a67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282000000000,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002000000000,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6442,"mtime_ns":1784993075000000000,"hash":"a5f9e5ab9008186c0001c480bd702e6217946eedc17b2e35eb25ad06edcfccca"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281000000000,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":14214,"mtime_ns":1783851628000000000,"hash":"aeac623e3020fee4cdd01e463ced23e4e03539a17c5b57dcbd9d88aac5a4fb4f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290000000000,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/main.py":{"size":6740,"mtime_ns":1785768184201594474,"hash":"d1d51e39dde50be124c7e5180d4bf8ad1e4f79f81b788d65211002e7500e3ad1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2508,"mtime_ns":1785445893850945734,"hash":"c6482a76c0273e7916ac15991de22851a53c3c20cfa922a6431e26cbdc4164aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930000000000,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":22196,"mtime_ns":1785472986385441979,"hash":"7027faa05ebc02388df5ac563561a826f3b107a9c55d927da60cf4ef85327d9e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/crm_models.py":{"size":71968,"mtime_ns":1785561859218571928,"hash":"d78d1ed8e2b0a0b4bc3bad72c962836de29ea0c16054069859517eb4ca910f18"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570000000000,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345000000000,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":77637,"mtime_ns":1785637538682041479,"hash":"8d1d7645a644d8ae2296285e416ceb7f3b7f493fb5e7fb94b0645133b3cff9bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973000000000,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930000000000,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930000000000,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556000000000,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296000000000,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871000000000,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187000000000,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293000000000,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":7641,"mtime_ns":1785473904076010280,"hash":"9e3bd83e926020fbcdc81264afa766f63a27d71d7c71e772d581b5d4019d82ac"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293000000000,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930000000000,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/__init__.py":{"size":0,"mtime_ns":1780201410000000000,"hash":"a6d57250b43cbdecb56b7a9d55d29642b808be368733e14b7df2bd196f54d64d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022000000000,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contact.py":{"size":4856,"mtime_ns":1780742840000000000,"hash":"60c714cc254d70f39b43205bbcb7fb4c563e807ddd070eefaaa952ae96048377"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10671,"mtime_ns":1785418059662177093,"hash":"be3c4f394aa2ee009515127647c54bad54936d9f6c1ecd36e391efae192b6960"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer.py":{"size":14450,"mtime_ns":1785808348436795280,"hash":"1795bee45228ed39d02891d289b7fecbaa184499f13788e85b10480891cfcc21"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer_follow.py":{"size":3716,"mtime_ns":1780201410000000000,"hash":"3979cecd62a4f2ee5dd925639572208e36b397620d91a9ce49a59adfcb2a9d55"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/customer_pool.py":{"size":1340,"mtime_ns":1780202198000000000,"hash":"7a6b76e0e39ada0783dfbee92280e9f06299b6662b08abb13ab1b0d9c70fe370"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386000000000,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127000000000,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/pool_rule.py":{"size":1848,"mtime_ns":1780202212000000000,"hash":"b0331e17e801d206fba2fa89df1a66d1758d850dc5547e076218e16c8211a3e8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/price_letter.py":{"size":3994,"mtime_ns":1784122554000000000,"hash":"6cd75fdbbd6a2dc65cf0b0b29e6206910fbd86f8bedf05bb56a8835130b81829"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/product.py":{"size":9627,"mtime_ns":1785808413391910783,"hash":"7cbbcfb86068a0ca3211c068a6200d618cbf3ccbbf9614678aa46c7fd0bec967"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":6173,"mtime_ns":1785418147320158849,"hash":"36361e9100bbaea5768c3428c2adca7a5393e51915400fdc71e9a6b4a2ad9c9f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410000000000,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":4149,"mtime_ns":1784996454000000000,"hash":"25bc81362d6365c8bd852892890f3ff0c74fd702016cb21104c3bdfa51e2f858"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619000000000,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990000000000,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":4095,"mtime_ns":1785807104128333050,"hash":"37a2e0218b67e33fc7ddc479bcb68c8c45ca892a2e88fbdc543f87b05924ae9d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":5023,"mtime_ns":1785807102509773576,"hash":"6f0172acb27799becd86980fa299744a5c8ba404be1b473cc030a05a6f3ec7f6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660000000000,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5494,"mtime_ns":1785807118487481337,"hash":"120c573ad29a51805e5b04d0c2ceeaea08d70200a40ddca7fe36d5fc7d6585f1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930000000000,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930000000000,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127000000000,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353000000000,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582000000000,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":18485,"mtime_ns":1785637803204159892,"hash":"834f242f9733612613b7b3fec33dcab61d8fe0885158a5bfa8ebef8e0705dc46"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360000000000,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11299,"mtime_ns":1785439224271183303,"hash":"ba898caafbe6c8f4c5729c2521917eeaf92fa3c649626232d326eb255f0c177f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":8319,"mtime_ns":1785202429973819450,"hash":"63ec5922aa1e9bdf8c3b7dfc5b0ccb555535cbf949e32a1055237ba86faaa146"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/io_order.py":{"size":5908,"mtime_ns":1785450376207250209,"hash":"eb0ebe1400d6d0f7fd614561986c6f5d2072946e459c90b06761f0754a0a482b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py":{"size":247,"mtime_ns":1783257567000000000,"hash":"88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":23874,"mtime_ns":1785453577889781284,"hash":"346dd41170ff374014149c5b4e0f442e58040200b17dc69b20d05f18fe235a59"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446000000000,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":20802,"mtime_ns":1785451180420705219,"hash":"ae069b93e5dca487543132014dab26c9a57ab6c714c3613d3e8527b589fff282"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539000000000,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447000000000,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169000000000,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196000000000,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930000000000,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930000000000,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594000000000,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":24037,"mtime_ns":1783746967000000000,"hash":"4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200000000000,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868000000000,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3984,"mtime_ns":1784993089000000000,"hash":"dd56d9197b4cddc60570bf5eb1851d4a426ab226858beb95bccb33a839471ea5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4639,"mtime_ns":1784993106000000000,"hash":"2640940d1851d60e7ba515d759a0aa06843b764742ae1ea2fabb95b6a16136f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":50167,"mtime_ns":1785473904076135989,"hash":"62aa40e704008af56df7fd19b786de94d291218976106b1c59ee2b2332639b5b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3610,"mtime_ns":1785592530823872489,"hash":"9c5f871f6c22e837bfee2fc52af6a06588f6f509441485054ec2a138bc91211e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5617,"mtime_ns":1784993093000000000,"hash":"514ea42e366fff44f1becbde6b5bfa219a224517e47dcdec25c8cf803a3ec0b5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938000000000,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127000000000,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614000000000,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400000000000,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632000000000,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":8976,"mtime_ns":1785807132026824584,"hash":"0501255ba896feb2ac32c24eff8f774aaa4663db1666e31c720087049219ddd8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092000000000,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268000000000,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818000000000,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142000000000,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":1735,"mtime_ns":1784957286000000000,"hash":"7ab4f5c5a28b0af2c8ddfc91bbc425a9fc5246956afdfd29ae4ca0af32d73cb6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_cert_required_service.py":{"size":10270,"mtime_ns":1785643505274516189,"hash":"9c4759dbc0c6f16e2fcfa151939776a81d28297e0fe3a6694515dd3c5df0c242"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7694,"mtime_ns":1783849439000000000,"hash":"7bb0a6d4dfdb1ec11e72e971873791b8e188939e7c6b7328a0a2f4f8986c9d1c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506000000000,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":15310,"mtime_ns":1783777749000000000,"hash":"c506eb84c104ce63b98cde5b16644f16ddcf4e3aa335089bedcb4c267d21fc0d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204000000000,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276000000000,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_io_order_service.py":{"size":31821,"mtime_ns":1785452761834196393,"hash":"b98fd44f3f42b76ef8ec0797f6842c68f8ccee56368969f5152d86ccafa69167"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py":{"size":6108,"mtime_ns":1783258109000000000,"hash":"aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_ocr_service.py":{"size":11166,"mtime_ns":1784036700000000000,"hash":"6f233150e253813a7c9da30e6e5d6046fdea01baa67c2589a332fe511ab795f9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6707,"mtime_ns":1783845044000000000,"hash":"34f3d1d723890e294aac765a66d7e86ca87f4288f42cec674bb9151de091fe22"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":43616,"mtime_ns":1785447059067456413,"hash":"68481c4cfc56bb9b948f45a84f6ab7e467b0a00199f32bfd388dcd4c0d9eb3fc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460000000000,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450000000000,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248000000000,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23307,"mtime_ns":1783761151000000000,"hash":"0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22641,"mtime_ns":1783760938000000000,"hash":"a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213000000000,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":5592,"mtime_ns":1783858473000000000,"hash":"04c2cd67a7ec8190aa7a9db717a722cd347a52279ac3ef5bd284777f0698a904"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930000000000,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992000000000,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067000000000,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/customer_pool.py":{"size":9646,"mtime_ns":1780202350000000000,"hash":"4f0ab87e7a12534011b69f58079ca206d5443eee594849ab4aae728bb847de0d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095000000000,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000000000,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127000000000,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396000000000,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":2363,"mtime_ns":1783745556000000000,"hash":"e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830000000000,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127000000000,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/ws/__init__.py":{"size":26,"mtime_ns":1780108930000000000,"hash":"d4357444e9b5b0a8593000fb6e4dc37469ebe008e675bf42ec0d55d463f88fc6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517000000000,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510000000000,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/compare_dict_snapshots.py":{"size":11072,"mtime_ns":1783860128000000000,"hash":"cfc98cc72c5e387317cfa0a7670c47067fffe8f2e540d5cd580ee459e173e4ef"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410000000000,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_bx_data.py":{"size":32783,"mtime_ns":1785455807105877935,"hash":"16751fcd542e209535216a0516d78b62eecb81732d7fe0f9ec051fdf811e93b6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql":{"size":454,"mtime_ns":1783254856000000000,"hash":"d40ab4c556ab285498f4689c21736832deddc754a9a2b7d806e870ccb39fc9ae"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_clue.py":{"size":18423,"mtime_ns":1785455807106788561,"hash":"72b84e497176bc63264c26d891c591c839f9dd9788988043c5752413c1b62a09"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_contract.py":{"size":36352,"mtime_ns":1785469153230627041,"hash":"b78319ae19a0089684e1ffe1993a1b62be2d687ab65a3e69da423247e0d4d4d0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_customer.py":{"size":25235,"mtime_ns":1785455807108557895,"hash":"f30d5a50a28a1130325a9d9db88586bcae9e2a39434f077ded25f847af2ed66f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_opportunity.py":{"size":23720,"mtime_ns":1785455807109188438,"hash":"f98964806f32c3020bdd7d644d930760d6ea3ad5162d5f1d6125494263dd5598"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_payment_invoice.py":{"size":13601,"mtime_ns":1785455807109946855,"hash":"c4af77164dac9ba4195c3d239c9679ea367b92f5f7500139f3b59547525af24e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_product.py":{"size":14973,"mtime_ns":1785457303643810528,"hash":"83b693cbc1a590f7a3cd6af2387e638f28474c230fc6f4c0a2813f343d35d887"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_product_category.py":{"size":16785,"mtime_ns":1785462269008382807,"hash":"35d9a064be6f0ac00b6b2162d77d710a2c4f108824eb78425de2341d576cf7fa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_quote.py":{"size":27580,"mtime_ns":1785455807110995231,"hash":"4ac389eb6cb7437d4f5e8203d9908efec9836046ce8628a5e4be1f8b8ddd52cd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_crm_sys_oss.py":{"size":23401,"mtime_ns":1785468795797340265,"hash":"f2d9da1743e3997bf7361d39ff66eab588d7dd55d2114dc9cf6796f4f697a9c3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1785455807112164732,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql":{"size":1562,"mtime_ns":1783256051000000000,"hash":"82a0ce8c5293f5051967633c1c2e0a1dc60e1fc7c97919c9e0866246bbcbe3d1"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql":{"size":6367,"mtime_ns":1783256049000000000,"hash":"5f6964d1ea2712d3d72c8f43f08c16597d85fe79f3f54c8be99962090d6c2b67"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586000000000,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793000000000,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958000000000,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340000000000,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697000000000,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744000000000,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_users.py":{"size":28602,"mtime_ns":1785455807113727900,"hash":"f5626fd3ca8bbc16275862080365c3ea2a27fd0f608e2243a284493762a8f735"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration/minio_url.py":{"size":4770,"mtime_ns":1785465354405875664,"hash":"54a1bf95512c0a8b5feeb518ea3af76983bb1b0a3ba645898b07debdb2cc52e9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql":{"size":269,"mtime_ns":1783760394000000000,"hash":"a5f66647cdb4f0f403689b47b804f8099d7d710753823ef3ddc5e7a5a9ca4ca8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_add_finance_dept.sql":{"size":1697,"mtime_ns":1783855927000000000,"hash":"4ce457089ead5c063ae8e1a6d6553416deb43c54a7edddb574ee2572390aba99"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_affiliation.sql":{"size":753,"mtime_ns":1783845019000000000,"hash":"6d450d264921f43c4e74ee4a2bcfc8335d16f77d9e0413267389741a92bf4eb5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_pl_personnel_type.sql":{"size":1662,"mtime_ns":1783843576000000000,"hash":"24fcd156f97e2bdf2bd158beb5358fe7159874783a84716c6c18d2565cc8ac1a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260712_reset_sys_dept.sql":{"size":4517,"mtime_ns":1783855538000000000,"hash":"3795d6127a4dcf55d406be0fe673b8a83655723fe1f07b855e6fe45823d489fa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260713_pl_personnel_cert_split.sql":{"size":3436,"mtime_ns":1783946793000000000,"hash":"ce61899ec7e13f41de08dbc923dd1ff2a1a976603d13c8f09aa6fd5be9c914a2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260714_pl_ocr_usage_month.sql":{"size":1270,"mtime_ns":1784032423000000000,"hash":"d7018a4e5be9760846731440be98e53584d8e1461fc4ea54a0c8db61c666e7fe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter.sql":{"size":11104,"mtime_ns":1784122573000000000,"hash":"548dab479fcde4bf1628ca2093fd7840720473a774a5289b55bfd4f46b902153"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260715_crm_price_letter_bill_price.sql":{"size":901,"mtime_ns":1784122547000000000,"hash":"11a4eb6f3b4d89c1a5141bd9a85e931517984b77ac213f5842dc590f928fe1cf"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260719_pl_inbound_outbound_order.sql":{"size":10843,"mtime_ns":1784427911426172052,"hash":"baab6333d8e0865e72a9c474eb642bd5b166f9d70a6db5825d315574f66df069"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231000000000,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279000000000,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163000000000,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/refresh_business_role_menus.py":{"size":3812,"mtime_ns":1783858483000000000,"hash":"b2c76109936791e1f624e239b24832237fa0256b38b98578e39825ac215fb166"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/renumber_crm_product_no.py":{"size":9071,"mtime_ns":1785455807114125233,"hash":"320c63801100ea8e9fb62abfb44b3487139377e293310593a877ab2d06e9d2e3"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102000000000,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql":{"size":82807,"mtime_ns":1784948075068625581,"hash":"b712bc6d4b5a248a26706137f601e26d81bdb7ffdae016ff818a77155afe15a8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/setup_business_roles.py":{"size":14256,"mtime_ns":1783858477000000000,"hash":"ac12df2cf75826931c85f4deb3ae28614e31ea825d0beb3cf351a8d4f5cb1071"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/test_aliyun_driving_license_ocr.py":{"size":5130,"mtime_ns":1784032210000000000,"hash":"13d43c9144c3795b8870fbd900ed14f97ae22ee043e2c265a5151525666abebe"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/verify_web_menu_codes.py":{"size":2535,"mtime_ns":1783858485000000000,"hash":"16c9c072b5b80fb309d56823963ebd0dd1f437a3f74d7f82711dd8a7c2de86d2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355000000000,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/wuzilong/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661000000000,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048000000000,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647000000000,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611000000000,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_dibang_plan_quantity.py":{"size":4258,"mtime_ns":1783777759000000000,"hash":"6af8eb3c1f6c7ad34cd62f1e82e9c6b96737ffd48ba74dda7c5f888c55dd11cd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_personnel_cert_required.py":{"size":3367,"mtime_ns":1785643508814042558,"hash":"4bc3552f4897e80dfc8bc28ea2566bd0ea6839e860d781653088066f57f414e6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/venv.bak.broken/bin/Activate.ps1":{"size":8593,"mtime_ns":1780108930000000000,"hash":"ed2ea10761f2798e8980084d754284d3fcb94f1284ae7085c35c16108fe24846"},"/Users/wuzilong/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356000000000,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/wuzilong/work/00code/shanxia2.0/backend/README.md":{"size":2752,"mtime_ns":1780114581000000000,"hash":"f5def8d25af0556a443c31a73e81f958883b60cfed8b31fac457f2832c2b6d58"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_io_order_enrichment.py":{"size":2097,"mtime_ns":1784450322000000000,"hash":"0f0fba3a24b2eeda1af4c30180306eca8da5f3dd1807f2e7591f4c46548440c4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_io_order_site_feedback_status.py":{"size":3527,"mtime_ns":1785446258255101137,"hash":"fc53fd735e09b39e7cfe085ca6756f87396b6954f7057fde2bfca39524c34276"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_tripartite_cert_gates.py":{"size":2003,"mtime_ns":1784947499000000000,"hash":"312091d1017c2f22195a9317cd6f39c880cd5aa6b27acaf343181319f045ffee"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_carrier_eligible.py":{"size":689,"mtime_ns":1784947707000000000,"hash":"a3093ae31166d40d7836abb3575c0d4d50ff9e9bf23fee8e7a291afdec39fedd"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/pl/paste_recognize.py":{"size":1869,"mtime_ns":1785808688386810236,"hash":"69bc7d7ead223c34143e56ed7eb1381b48e07fef4b74b4dd83365e8cca1edab8"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_paste_recognize_service.py":{"size":9724,"mtime_ns":1785808688436615927,"hash":"38bfbe51fdb8f5bc43c48fc0767e742edfc963761252f32e6868c4341e61af84"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migration_20260725_pl_tripartite_menus.sql":{"size":2113,"mtime_ns":1784948072087970834,"hash":"c4897f7cff3c22535726f105d1f2e543eb551f6543e8b256ced85ae2a38ee683"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/invoice.py":{"size":5868,"mtime_ns":1784991682000000000,"hash":"65eced0eea3c4f9567842be545d2eb042c24398d5ff5eeda2aff693fcff06ff2"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/bx/invoice.py":{"size":1896,"mtime_ns":1784982228000000000,"hash":"909460b2883e85110e15a56d5755748e1bcb3e26dffac89684440813788e8668"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/invoice.py":{"size":14356,"mtime_ns":1784991670000000000,"hash":"fb3fac6667d415b032880fde5ef3413dfac150686b738d6b644ea07d0fc96412"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/invoice_ledger.py":{"size":10778,"mtime_ns":1784980394000000000,"hash":"2b67dc7e5d7280235dbe594bc6a984747ceb3415a527c78516cd60ef3ebccf1f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/crm_supplier_hazard.py":{"size":3425,"mtime_ns":1784998230000000000,"hash":"2365e02c6f2584dd6d18e1ad3c8d3075096777b244cc1430ef913254c61a9442"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_bx_invoice_ledger.py":{"size":1427,"mtime_ns":1784980394000000000,"hash":"9fc702e7becd491b05b730b711ea911f393f2d15509bc5f03f4e70edf7770a9b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_supplier_hazard.py":{"size":855,"mtime_ns":1784996182000000000,"hash":"ce8bd619b1a6dc746541a57eccc095d19ccde3bdb88341995631e15fcfb14bca"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_pl_plan_create_date.sql":{"size":536,"mtime_ns":1785140686875543544,"hash":"0694b0b031a6461d8a8940f7403739a8d20fd018403a02a8f1e0e8bf2bc1490f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_plan_create_date.py":{"size":299,"mtime_ns":1785140895170402200,"hash":"7a05f3fcc2d9a36f08b0801f6fbf6ee4fe58982d9212d7a10a70b8b4d41b6f85"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_crm_product_brand_alias.sql":{"size":4594,"mtime_ns":1785160650030737687,"hash":"f9f6ea6ca8e31cf5622a31f8303fe81174769b7d094645a88dccfcd6484b9cc4"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_brand_archive.py":{"size":3334,"mtime_ns":1785453570763074999,"hash":"feca7ad16664603f04ee7fa38f03187ecfb70978cc41fcdb47d3fbfb54a11fbc"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_inventory_service.py":{"size":7058,"mtime_ns":1785453321817830521,"hash":"a13cd5ea34dabe91b4663551824c3da9fd2a64ac3fcbc46b2b099644f308b457"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260727_split_brand_from_product_name.py":{"size":5120,"mtime_ns":1785202591782265408,"hash":"d9d9b949cc5f275764b7ea771616141084a0c7cd256dd3262bf532cf4ac0f20f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_brand_archive.py":{"size":2440,"mtime_ns":1785453323711185768,"hash":"2a704d8278c46f510fa020cd9aed4ea26fd978262d7fe728287bcfe5726798e9"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_pl_plan_plan_date_nullable.sql":{"size":223,"mtime_ns":1785439209757662121,"hash":"50a633398cc1c8288c8b5fa221885272ca963c4b777b70102c96632f2d51047a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_feedback_brand_qty.py":{"size":9813,"mtime_ns":1785452749855419713,"hash":"c67d06fc7ac5cc9b3be0c2005f30a4914ca97c27cd5a7c80e7814382cb05c82d"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_pl_feedback_brand_qty.sql":{"size":4927,"mtime_ns":1785445506581710120,"hash":"618b647158c133824ead60382d2b6e73713ea32a7b2224efedea431e071cc89a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_feedback_brand_qty.py":{"size":3424,"mtime_ns":1785452788497663858,"hash":"1fe2a5c0b1968f864ef22a436b0e13a697977ef09a71c6e8bfda46da25825f90"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/pl_product_display.py":{"size":3590,"mtime_ns":1785451173102957680,"hash":"728e1d79035875ac350201c943241493f04006a2e1f71d7e3e41571eeac721e5"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/backfill_crm_customer_license_urls.py":{"size":7789,"mtime_ns":1785467213374029636,"hash":"a0faaa83477187d8b4a9299d1b170f5ea2c5ca3b450fb4437bf1dc30ab1b5b1b"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/backfill_crm_contract_attachment_urls.py":{"size":9795,"mtime_ns":1785469147228035015,"hash":"6331fa977cbb794c3ee9cb072692c63b05f23f071ab8df1d0b8368455af3b82c"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260731_bx_reimburse_invoice_attachment_id.sql":{"size":784,"mtime_ns":1785473095766881076,"hash":"702c6845b0b936d4a5a06918fcebefd71b38ca4b2dcd7e51ee45af19c77407b6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py":{"size":3632,"mtime_ns":1785560604338687232,"hash":"7442687a3dde4a0a354064c3fef7503d37c9ce3f1991873e64befd2d1812ba4a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py":{"size":1015,"mtime_ns":1785560055190832342,"hash":"2a7e91833de33ed92ac8e9157746f15fd7a9e7c5f25bf043dfb0dd7c77859715"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/quote_approver_setting.py":{"size":291,"mtime_ns":1785560601528774704,"hash":"e978cab24ee46f23b7432bb6f411e760f2d8d782a924efe811608c2200fcba0a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260801_crm_quote_approver_setting.sql":{"size":2117,"mtime_ns":1785560449173091996,"hash":"66c92fbf3031539484e241934c14fee379a70b1b179a8b8345c5ae70c8498f14"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approver_setting.py":{"size":2875,"mtime_ns":1785561463337293690,"hash":"7c3aeed13e66f67159220b323298b414a9d1b1f9ca6b679dca31532be86a132e"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/schemas/crm/contract_approver_setting.py":{"size":294,"mtime_ns":1785561469090499071,"hash":"fca8a7cb3a75c82e9c3395f2471e20dfcdc469a8fd299c9c6ce5e79576a6c3fb"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260801_crm_contract_approver_setting.sql":{"size":1903,"mtime_ns":1785561454940491268,"hash":"f81470b97da71283b9d3defc81fd177cc2fea1dbd487febaebf7a8f24a73c71f"},"/Users/wuzilong/work/00code/shanxia2.0/backend/scripts/migrate_20260802_pl_vehicle_personnel_photo_urls.sql":{"size":468,"mtime_ns":1785637173564154921,"hash":"852680d19f6b71def29908a718ae92d9169a025e9d78808b9f8d000bdc61fb52"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_pl_vehicle_personnel_photo_schema.py":{"size":1231,"mtime_ns":1785637623899998875,"hash":"e4c64e35446196f1de7ba0e719be054d019ec8b075f5ea8c128b8a60c59695aa"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_no_align.py":{"size":3126,"mtime_ns":1785825791491415499,"hash":"ff831959d54053ab544d9c377133a120cd4caa8aac6650da16a36150444d78e6"},"/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/db/public_vehicles.py":{"size":2231,"mtime_ns":1785768179156681871,"hash":"7a98a605c181669b08d642c45a0dd6fa523939af5125b5ad0bae0de2ee95b2f0"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_public_db_vehicle_plates.py":{"size":323,"mtime_ns":1785768224738481967,"hash":"616ff1488b2b17e419c4e4ec368aa2764afea116722010cad785218a4e12259a"},"/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_crm_contract_name_from_parties.py":{"size":6224,"mtime_ns":1785828057088217919,"hash":"9a59bc109ddc024a07b33b7392a05d483860e2214950a5e3552dee57e207be2f"}} \ No newline at end of file diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index bfefcd174..38d320c99 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -63,12 +63,12 @@
-