diff --git a/backend/app.pid b/backend/app.pid index 77880523f..58eaf53d1 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -17854 +23897 diff --git a/backend/app/api/db/__init__.py b/backend/app/api/db/__init__.py index a1ed8e473..47375c810 100644 --- a/backend/app/api/db/__init__.py +++ b/backend/app/api/db/__init__.py @@ -1,10 +1,9 @@ """地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。""" from fastapi import APIRouter -from app.api.db import dashboard, inventory, plans, vehicles, weighing +from app.api.db import dashboard, inventory, plans, weighing db_router = APIRouter(tags=["地磅管理"]) -db_router.include_router(vehicles.router) db_router.include_router(plans.router) db_router.include_router(inventory.router) db_router.include_router(weighing.router) diff --git a/backend/app/api/db/inventory.py b/backend/app/api/db/inventory.py index 67fb50acc..45ba35086 100644 --- a/backend/app/api/db/inventory.py +++ b/backend/app/api/db/inventory.py @@ -11,9 +11,8 @@ from sqlalchemy.orm import Session from app.core.database import get_db from app.core.db_auth import DbUserContext, get_db_current_user, get_db_current_user_optional from app.core.tenant_context import get_tenant_no -from app.core.utils import generate_uuid from app.services.db.inventory_id import next_inbound_outbound_id -from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbVehicle, DbWeighingSlip +from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbWeighingSlip from app.schemas.db.inventory import ( CreateLinkForPlanPayload, InboundOutboundCreate, @@ -114,40 +113,6 @@ def _get_inventory(db: Session, tenant_no: str, inventory_id: str) -> DbInboundO return row -def _ensure_vehicle_exists( - db: Session, - tenant_no: str, - vehicle_no: str, - *, - create_by: Optional[str] = None, - create_dept_id: Optional[str] = None, -) -> None: - if not (vehicle_no and vehicle_no.strip()): - return - normalized = vehicle_no.strip().lower() - exists = ( - db.query(DbVehicle) - .filter( - DbVehicle.tenant_no == tenant_no, - DbVehicle.del_flag == 0, - func.lower(DbVehicle.vehicle_no) == normalized, - ) - .first() - ) - if exists: - return - db.add( - DbVehicle( - id=generate_uuid(), - tenant_no=tenant_no, - vehicle_no=vehicle_no.strip(), - remark=None, - create_by=create_by, - create_dept_id=create_dept_id or "", - ) - ) - - def _apply_inventory_product_update( db: Session, tenant_no: str, row: DbInboundOutbound, payload_dict: dict ) -> None: @@ -423,10 +388,6 @@ def update_inventory( row = _get_inventory_by_id(db, id) payload_dict = payload.model_dump(exclude_unset=True) - vehicle_no_updated = payload_dict.get("vehicle_no") - if vehicle_no_updated is not None and str(vehicle_no_updated).strip(): - _ensure_vehicle_exists(db, row.tenant_no, str(vehicle_no_updated).strip()) - _apply_inventory_product_update(db, row.tenant_no, row, payload_dict) _apply_inventory_update(row, payload_dict) _maybe_promote_third_party_status(row) diff --git a/backend/app/api/db/vehicles.py b/backend/app/api/db/vehicles.py deleted file mode 100644 index 2ff5f9355..000000000 --- a/backend/app/api/db/vehicles.py +++ /dev/null @@ -1,146 +0,0 @@ -from typing import Optional - -from fastapi import APIRouter, Depends, HTTPException, Query, status -from sqlalchemy import func, or_ -from sqlalchemy.orm import Session - -from app.core.database import get_db -from app.core.db_auth import DbUserContext, get_db_current_user -from app.core.tenant_context import get_tenant_no -from app.core.utils import generate_uuid -from app.models.db_models import DbVehicle -from app.schemas.db.master_data import VehicleCreate, VehicleRead, VehicleUpdate -from app.services.db.mappers import vehicle_to_read - -router = APIRouter(prefix="/master-data/vehicles", tags=["vehicles"]) - - -def _base_query(db: Session, tenant_no: str): - return db.query(DbVehicle).filter( - DbVehicle.tenant_no == tenant_no, - DbVehicle.del_flag == 0, - ) - - -@router.get("/", response_model=list[VehicleRead]) -def list_vehicles( - q: Optional[str] = Query(default=None, description="模糊搜索车牌号"), - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> list[VehicleRead]: - tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) - query = _base_query(db, tenant_no).order_by(DbVehicle.create_time.desc()) - if q: - keyword = q.lower() - query = query.filter( - or_( - func.lower(DbVehicle.vehicle_no).contains(keyword), - func.lower(DbVehicle.remark).contains(keyword), - ) - ) - rows = query.all() - return [vehicle_to_read(row) for row in rows] - - -@router.get("/{vehicle_id}", response_model=VehicleRead) -def get_vehicle( - vehicle_id: str, - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> VehicleRead: - tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) - row = _get_vehicle(db, tenant_no, vehicle_id) - return vehicle_to_read(row) - - -@router.post("/", response_model=VehicleRead, status_code=status.HTTP_201_CREATED) -def create_vehicle( - payload: VehicleCreate, - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> VehicleRead: - tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) - _ensure_unique_vehicle_no(db, tenant_no, payload.vehicle_no) - row = DbVehicle( - id=generate_uuid(), - tenant_no=tenant_no, - vehicle_no=payload.vehicle_no.strip(), - remark=payload.remarks, - create_by=user.id, - create_dept_id=user.dept_id, - ) - db.add(row) - db.commit() - db.refresh(row) - return vehicle_to_read(row) - - -@router.put("/{vehicle_id}", response_model=VehicleRead) -def update_vehicle( - vehicle_id: str, - payload: VehicleUpdate, - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> VehicleRead: - tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) - row = _get_vehicle(db, tenant_no, vehicle_id) - if payload.vehicle_no and payload.vehicle_no.strip().lower() != row.vehicle_no.lower(): - _ensure_unique_vehicle_no(db, tenant_no, payload.vehicle_no) - row.vehicle_no = payload.vehicle_no.strip() - if payload.remarks is not None: - row.remark = payload.remarks - row.update_by = user.id - db.commit() - db.refresh(row) - return vehicle_to_read(row) - - -@router.patch("/{vehicle_id}", response_model=VehicleRead) -def patch_vehicle( - vehicle_id: str, - payload: VehicleUpdate, - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> VehicleRead: - return update_vehicle(vehicle_id, payload, db, user) - - -@router.delete("/{vehicle_id}", status_code=status.HTTP_204_NO_CONTENT) -def delete_vehicle( - vehicle_id: str, - db: Session = Depends(get_db), - user: DbUserContext = Depends(get_db_current_user), -) -> None: - tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) - row = _get_vehicle(db, tenant_no, vehicle_id) - row.del_flag = 1 - row.update_by = user.id - db.commit() - - -def _get_vehicle(db: Session, tenant_no: str, vehicle_id: str) -> DbVehicle: - row = ( - _base_query(db, tenant_no) - .filter(DbVehicle.id == vehicle_id) - .one_or_none() - ) - if row is None: - raise HTTPException( - status_code=status.HTTP_404_NOT_FOUND, - detail=f"Vehicle {vehicle_id} not found", - ) - return row - - -def _ensure_unique_vehicle_no(db: Session, tenant_no: str, vehicle_no: str) -> None: - normalized = vehicle_no.strip().lower() - exists = ( - _base_query(db, tenant_no) - .filter(func.lower(DbVehicle.vehicle_no) == normalized) - .first() - ) - if exists: - raise HTTPException( - status_code=status.HTTP_409_CONFLICT, - detail="Vehicle number already exists", - ) diff --git a/backend/app/models/db_models.py b/backend/app/models/db_models.py index 4b73c0db9..6d0d6de72 100644 --- a/backend/app/models/db_models.py +++ b/backend/app/models/db_models.py @@ -6,24 +6,6 @@ from sqlalchemy import Column, Date, DateTime, Float, Integer, SmallInteger, Str from app.core.database import Base -class DbVehicle(Base): - __tablename__ = "db_vehicle" - - id = Column(String(64), primary_key=True, comment="主键ID(UUID)") - vehicle_no = Column(String(255), nullable=False, comment="车牌号") - tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号") - order_num = Column(Integer, nullable=True, comment="排序号") - remark = Column(String(512), nullable=True, comment="备注") - create_by = Column(String(64), nullable=True, comment="创建人") - create_dept_id = Column(String(64), nullable=False, default="", comment="创建部门") - create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") - update_by = Column(String(64), nullable=True, comment="更新人") - update_time = Column( - DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间" - ) - del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") - - class DbPurchasePlan(Base): __tablename__ = "db_purchase_plan" diff --git a/backend/app/schemas/db/master_data.py b/backend/app/schemas/db/master_data.py deleted file mode 100644 index b0c53d9e9..000000000 --- a/backend/app/schemas/db/master_data.py +++ /dev/null @@ -1,25 +0,0 @@ -from typing import Optional - -from pydantic import BaseModel, Field - - -class VehicleBase(BaseModel): - vehicle_no: str = Field(min_length=1, max_length=255, alias="vehicleNo") - remarks: Optional[str] = Field(default=None) - - model_config = {"from_attributes": True, "populate_by_name": True} - - -class VehicleCreate(VehicleBase): - pass - - -class VehicleUpdate(BaseModel): - vehicle_no: Optional[str] = Field(default=None, min_length=1, max_length=255, alias="vehicleNo") - remarks: Optional[str] = Field(default=None) - - model_config = {"populate_by_name": True} - - -class VehicleRead(VehicleBase): - id: str diff --git a/backend/app/services/db/mappers.py b/backend/app/services/db/mappers.py index 7d2edcc71..41cc62d3b 100644 --- a/backend/app/services/db/mappers.py +++ b/backend/app/services/db/mappers.py @@ -7,9 +7,8 @@ from app.core.utils import format_datetime # 三方预生成出入库单「日期未填」占位(原系统 date="",DDL 为 NOT NULL DATE) EMPTY_INVENTORY_DATE = date(1970, 1, 1) -from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbVehicle, DbWeighingSlip +from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbWeighingSlip from app.schemas.db.inventory import InboundOutboundRead -from app.schemas.db.master_data import VehicleRead from app.schemas.db.plans import PurchasePlanRead, PurchasePlanWithFillLink from app.schemas.db.weighing import WeighingSlipRead @@ -32,14 +31,6 @@ def fmt_datetime(value: datetime | str | None) -> str | None: return str(value) -def vehicle_to_read(row: DbVehicle) -> VehicleRead: - return VehicleRead( - id=row.id, - vehicleNo=row.vehicle_no, - remarks=row.remark, - ) - - def plan_to_read(row: DbPurchasePlan, *, executed_quantity: float | None = None) -> PurchasePlanRead: return PurchasePlanRead( id=row.id, diff --git a/backend/app/services/pl_dibang_bridge_service.py b/backend/app/services/pl_dibang_bridge_service.py index db4ccc6ed..d14d8f01e 100644 --- a/backend/app/services/pl_dibang_bridge_service.py +++ b/backend/app/services/pl_dibang_bridge_service.py @@ -11,7 +11,7 @@ from typing import Optional from sqlalchemy.orm import Session from app.core.utils import generate_uuid -from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbVehicle, DbWeighingSlip +from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbWeighingSlip from app.models.pl_models import PlPlan, PlPlanProduct, PlTransport, PlTransportDbLink from app.services.db.inventory_id import next_inbound_outbound_id from app.services.db.mappers import parse_date_str @@ -83,32 +83,6 @@ def _generate_batch_no(db: Session, tenant_no: str) -> str: return f"CRKDH{max_seq + 1:07d}" -def _ensure_vehicle_exists(db: Session, tenant_no: str, vehicle_no: str) -> None: - vehicle_no = (vehicle_no or "").strip() - if not vehicle_no: - return - exists = ( - db.query(DbVehicle.id) - .filter( - DbVehicle.tenant_no == tenant_no, - DbVehicle.del_flag == 0, - DbVehicle.vehicle_no == vehicle_no, - ) - .first() - ) - if exists: - return - db.add( - DbVehicle( - id=generate_uuid(), - tenant_no=tenant_no, - vehicle_no=vehicle_no, - remark="", - ) - ) - db.flush() - - def find_monthly_db_plan( db: Session, tenant_no: str, @@ -191,9 +165,6 @@ def _create_db_inventory( user_id: Optional[str], dept_id: str, ) -> DbInboundOutbound: - if license_plate: - _ensure_vehicle_exists(db, tenant_no, license_plate) - snapshot = resolve_crm_product(db, tenant_no, product.product_id) status_value = "待入库" if business_type == "入库" else "待出库" inventory = DbInboundOutbound( diff --git a/backend/graphify-out/.graphify_labels.json b/backend/graphify-out/.graphify_labels.json index ff1119fb9..b728b3a76 100644 --- a/backend/graphify-out/.graphify_labels.json +++ b/backend/graphify-out/.graphify_labels.json @@ -86,6 +86,7 @@ "84": "Community 84", "85": "Community 85", "86": "Community 86", + "87": "Community 87", "88": "Community 88", "89": "Community 89", "90": "Community 90", @@ -96,6 +97,7 @@ "95": "Community 95", "96": "Community 96", "97": "Community 97", + "98": "Community 98", "99": "Community 99", "100": "Community 100", "101": "Community 101", @@ -108,8 +110,6 @@ "108": "Community 108", "109": "Community 109", "110": "Community 110", - "111": "Community 111", - "112": "Community 112", "113": "Community 113", "114": "Community 114", "115": "Community 115", @@ -121,10 +121,7 @@ "121": "Community 121", "122": "Community 122", "123": "Community 123", - "124": "Community 124", - "126": "Community 126", "128": "Community 128", - "129": "Community 129", "133": "Community 133", "134": "Community 134", "135": "Community 135", @@ -132,7 +129,6 @@ "137": "Community 137", "138": "Community 138", "139": "Community 139", - "140": "Community 140", "141": "Community 141", "143": "Community 143", "144": "Community 144", diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index cd4feaea6..c48c1dad7 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - backend (2026-06-21) ## Corpus Check -- 193 files · ~131,723 words +- 191 files · ~131,118 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 3873 nodes · 29741 edges · 139 communities (137 shown, 2 thin omitted) -- Extraction: 48% EXTRACTED · 52% INFERRED · 0% AMBIGUOUS · INFERRED: 15365 edges (avg confidence: 0.5) +- 3860 nodes · 29584 edges · 135 communities (131 shown, 4 thin omitted) +- Extraction: 48% EXTRACTED · 52% INFERRED · 0% AMBIGUOUS · INFERRED: 15299 edges (avg confidence: 0.5) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `c3be9d1d` +- Built from commit: `29960970` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -102,6 +102,7 @@ - [[_COMMUNITY_Community 84|Community 84]] - [[_COMMUNITY_Community 85|Community 85]] - [[_COMMUNITY_Community 86|Community 86]] +- [[_COMMUNITY_Community 87|Community 87]] - [[_COMMUNITY_Community 88|Community 88]] - [[_COMMUNITY_Community 89|Community 89]] - [[_COMMUNITY_Community 90|Community 90]] @@ -112,6 +113,7 @@ - [[_COMMUNITY_Community 95|Community 95]] - [[_COMMUNITY_Community 96|Community 96]] - [[_COMMUNITY_Community 97|Community 97]] +- [[_COMMUNITY_Community 98|Community 98]] - [[_COMMUNITY_Community 99|Community 99]] - [[_COMMUNITY_Community 100|Community 100]] - [[_COMMUNITY_Community 101|Community 101]] @@ -124,14 +126,9 @@ - [[_COMMUNITY_Community 108|Community 108]] - [[_COMMUNITY_Community 109|Community 109]] - [[_COMMUNITY_Community 110|Community 110]] -- [[_COMMUNITY_Community 111|Community 111]] -- [[_COMMUNITY_Community 112|Community 112]] - [[_COMMUNITY_Community 122|Community 122]] - [[_COMMUNITY_Community 123|Community 123]] -- [[_COMMUNITY_Community 124|Community 124]] -- [[_COMMUNITY_Community 126|Community 126]] - [[_COMMUNITY_Community 128|Community 128]] -- [[_COMMUNITY_Community 129|Community 129]] - [[_COMMUNITY_Community 133|Community 133]] - [[_COMMUNITY_Community 134|Community 134]] - [[_COMMUNITY_Community 135|Community 135]] @@ -139,7 +136,6 @@ - [[_COMMUNITY_Community 137|Community 137]] - [[_COMMUNITY_Community 138|Community 138]] - [[_COMMUNITY_Community 139|Community 139]] -- [[_COMMUNITY_Community 140|Community 140]] - [[_COMMUNITY_Community 141|Community 141]] - [[_COMMUNITY_Community 143|Community 143]] - [[_COMMUNITY_Community 144|Community 144]] @@ -147,13 +143,13 @@ - [[_COMMUNITY_Community 147|Community 147]] ## God Nodes (most connected - your core abstractions) -1. `Session` - 1134 edges -2. `BaseModel` - 371 edges +1. `Session` - 1123 edges +2. `BaseModel` - 369 edges 3. `int` - 336 edges 4. `Any` - 331 edges -5. `get_tenant_no()` - 264 edges +5. `get_tenant_no()` - 258 edges 6. `Session` - 256 edges -7. `bool` - 256 edges +7. `bool` - 255 edges 8. `success_response()` - 250 edges 9. `error_response()` - 237 edges 10. `SysUser` - 203 edges @@ -170,75 +166,75 @@ - `int` --uses--> `LocalStorage` [INFERRED] scripts/run_db_auto_generate_plans.py → app/core/storage.py -## Communities (139 total, 2 thin omitted) +## Communities (135 total, 4 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.23 Nodes (74): date, DbUserContext, int, Session, str, DocumentReminderRead, DocumentReminderUpdate, InventoryLedgerResponse (+66 more) ### Community 1 - "Community 1" -Cohesion: 0.15 -Nodes (34): CrmContract, Query, CrmContract, CrmContractProductPriceTier, date, datetime, Query, contract_row_to_dict() (+26 more) +Cohesion: 0.10 +Nodes (43): CRM 报价单 API 路由 — 挂接到 crm.router, CRM 报价单 Pydantic Schemas, BaseModel, AdvanceApplyOut, AdvanceApprovalCreate, ReimburseApplyUpdate, ReimburseApprovalCreate, CustomerAssignPoolBody (+35 more) ### Community 2 - "Community 2" -Cohesion: 0.36 -Nodes (217): Any, bool, str, UploadFile, CRM 线索管理 Pydantic Schemas, CRM 商机管理 Pydantic Schemas, CRM 客户公海池规则 Pydantic Schemas, CRM 产品模块 Pydantic Schemas (+209 more) +Cohesion: 0.35 +Nodes (218): Any, bool, str, UploadFile, CRM 线索管理 Pydantic Schemas, CRM 客户管理 Pydantic Schemas, CRM 商机管理 Pydantic Schemas, CRM 客户公海池规则 Pydantic Schemas (+210 more) ### Community 3 - "Community 3" Cohesion: 0.06 -Nodes (171): _apply_default_invoice_info_to_customers(), category_add(), category_delete(), category_tree(), category_update(), clue_assign(), clue_check_convert(), clue_check_duplicate() (+163 more) +Nodes (167): _apply_default_invoice_info_to_customers(), category_add(), category_delete(), category_tree(), category_update(), clue_assign(), clue_check_convert(), clue_check_duplicate() (+159 more) ### Community 4 - "Community 4" Cohesion: 0.19 -Nodes (41): Decimal, int, PlanCreateFull, PlPlan, PlPlanProduct, PlTransport, PlVehicle, Session (+33 more) +Nodes (38): Decimal, PlPlan, PlPlanProduct, PlTransport, PlVehicle, Session, str, PlanProductCreate (+30 more) ### Community 5 - "Community 5" -Cohesion: 0.10 -Nodes (31): _error_json(), lifespan(), _mask_secret(), Exception, int, Request, str, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin (+23 more) +Cohesion: 0.09 +Nodes (33): _error_json(), lifespan(), _mask_secret(), Exception, int, Request, str, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin (+25 more) ### Community 6 - "Community 6" -Cohesion: 0.07 -Nodes (97): attachment_download_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post(), create_role_management() (+89 more) +Cohesion: 0.08 +Nodes (98): attachment_download_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post(), create_role_management() (+90 more) ### Community 7 - "Community 7" -Cohesion: 0.18 -Nodes (25): str, bool, date, datetime, int, Session, str, filter_current_cycle_approvals() (+17 more) +Cohesion: 0.19 +Nodes (23): bool, date, datetime, int, Session, str, allocate_reimburse_title_seq(), format_reimburse_title() (+15 more) ### Community 8 - "Community 8" Cohesion: 0.23 Nodes (10): Any, bool, int, Session, str, camel_to_snake(), CRUDBase, get_model_attr() (+2 more) ### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (90): CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), Any, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), Decimal, int, Session, str (+82 more) +Cohesion: 0.03 +Nodes (201): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, register_contract_routes(), CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), Any, bool, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), CrmContract (+193 more) ### Community 10 - "Community 10" -Cohesion: 0.26 -Nodes (30): DbInboundOutbound, DbUserContext, Session, str, CreateLinkForPlanPayload, _apply_inventory_product_update(), _apply_inventory_update(), _base_query() (+22 more) +Cohesion: 0.24 +Nodes (32): DbInboundOutbound, DbUserContext, Session, str, CreateLinkForPlanPayload, _apply_inventory_product_update(), _apply_inventory_update(), _base_query() (+24 more) ### Community 11 - "Community 11" Cohesion: 0.18 -Nodes (22): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+14 more) +Nodes (28): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+20 more) ### Community 12 - "Community 12" -Cohesion: 0.04 -Nodes (112): CRM 报价单 API 路由 — 挂接到 crm.router, str, CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, CRM 客户管理 Pydantic Schemas, CRM 报价单 Pydantic Schemas, BaseModel, AttachmentOut, ReimburseApplyCreate (+104 more) +Cohesion: 0.06 +Nodes (54): str, CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, ContractApprovalActionBody, ContractApprovalApproveBody, ContractApprovalByContractBody, ContractApprovalExportBody, ContractApprovalListBody, ContractApprovalListQuery (+46 more) ### Community 13 - "Community 13" -Cohesion: 0.07 -Nodes (38): Exception, bool, bytes, int, Path, str, bytes, int (+30 more) +Cohesion: 0.11 +Nodes (17): Exception, bytes, int, Path, str, BytesIO, BaseStorage, convert_heic_to_jpeg() (+9 more) ### Community 14 - "Community 14" Cohesion: 0.09 -Nodes (55): Any, bool, datetime, int, Session, str, _advance_contract_after_approval(), approve_contract() (+47 more) +Nodes (61): Any, bool, CrmContract, datetime, int, Query, Session, str (+53 more) ### Community 15 - "Community 15" -Cohesion: 0.21 -Nodes (18): bool, int, Redis, Request, str, _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client() (+10 more) +Cohesion: 0.22 +Nodes (30): DbUserContext, DbWeighingSlip, Session, str, Session, str, parse_datetime_str(), weighing_to_read() (+22 more) ### Community 16 - "Community 16" -Cohesion: 0.07 -Nodes (43): AttachmentUploadResponse, ChangePasswordRequest, Config, LoginRequest, LoginResponse, Pydantic schemas - 用户认证, ResetPasswordRequest, UserCreate (+35 more) +Cohesion: 0.08 +Nodes (40): AttachmentUploadResponse, ChangePasswordRequest, Config, LoginRequest, LoginResponse, Pydantic schemas - 用户认证, ResetPasswordRequest, UserCreate (+32 more) ### Community 17 - "Community 17" Cohesion: 0.20 @@ -246,39 +242,39 @@ Nodes (48): Any, Any, CRM 商机 CRUD(主表 + 阶段/赢输单/统计/看板/ ### Community 18 - "Community 18" Cohesion: 0.14 -Nodes (30): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+22 more) +Nodes (29): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+21 more) ### Community 19 - "Community 19" -Cohesion: 0.05 -Nodes (98): register_quote_routes(), Any, bool, CRM 报价单 CRUD — 对照 CrmQuoteServiceImpl.java(P2 全量), date, datetime, Decimal, int (+90 more) +Cohesion: 0.04 +Nodes (151): register_quote_routes(), Any, bool, int, Session, str, Any, bool (+143 more) ### Community 20 - "Community 20" -Cohesion: 0.32 -Nodes (33): AdvanceApplyCreate, AdvanceApplyOut, AdvanceApplyUpdate, AdvanceApprovalCreate, BxUserContext, int, Session, str (+25 more) +Cohesion: 0.36 +Nodes (31): AdvanceApplyCreate, AdvanceApplyOut, AdvanceApplyUpdate, AdvanceApprovalCreate, BxUserContext, int, Session, str (+23 more) ### Community 21 - "Community 21" -Cohesion: 0.08 -Nodes (109): DbUserContext, 运输计划管理 - 基础数据 API(承运商、车辆、人员), PlVehicle, Session, str, VehicleCreate, VehicleRead, VehicleUpdate (+101 more) +Cohesion: 0.07 +Nodes (110): DbUserContext, 运输计划管理 - 基础数据 API(承运商、车辆、人员), PlVehicle, Session, str, VehicleCreate, VehicleRead, VehicleUpdate (+102 more) ### Community 22 - "Community 22" -Cohesion: 0.18 -Nodes (11): float, int, str, 发送订单状态通知 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 (+3 more) +Cohesion: 0.16 +Nodes (12): float, int, str, 微信消息通知服务 支持微信小程序模板消息推送 使用方式: 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 (+4 more) ### Community 23 - "Community 23" Cohesion: 0.23 -Nodes (39): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, datetime, str (+31 more) +Nodes (37): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, datetime, str (+29 more) ### Community 24 - "Community 24" -Cohesion: 0.09 -Nodes (32): clue_import_template(), customer_import_template(), product_import_template(), 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export (+24 more) +Cohesion: 0.19 +Nodes (18): str, Any, bool, Session, str, CRM 模块 Excel 导出列定义(字段与字典类型对齐 Java *Vo @ExcelDictFormat)。, _yes_no(), _build_workbook() (+10 more) ### Community 25 - "Community 25" -Cohesion: 0.16 -Nodes (39): DbPurchasePlan, DbUserContext, Session, str, parse_date_str(), plan_to_read(), plan_to_read_with_fill_link(), _apply_plan_product_update() (+31 more) +Cohesion: 0.21 +Nodes (27): Session, str, parse_date_str(), plan_to_read(), plan_to_read_with_fill_link(), _apply_plan_product_update(), _apply_plan_update(), _base_query() (+19 more) ### Community 26 - "Community 26" -Cohesion: 0.13 -Nodes (15): Any, bool, int, str, get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.html, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total_amo (+7 more) +Cohesion: 0.15 +Nodes (14): Any, int, str, get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 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: 订单 (+6 more) ### Community 27 - "Community 27" Cohesion: 0.21 @@ -293,32 +289,32 @@ Cohesion: 0.12 Nodes (31): Any, bool, CRM 供方信息 CRUD — 对照 CrmSupplierInfoServiceImpl.java, int, Session, str, generate_contract_no(), Java: generateContractNo — {供方编码}/X-JT + yyyyMMdd + 3位流水 (+23 more) ### Community 30 - "Community 30" -Cohesion: 0.31 -Nodes (32): BxUserContext, int, Session, str, ApiResponse, approve_reimburse(), approved_by_me(), _build_details_data() (+24 more) +Cohesion: 0.35 +Nodes (31): BxUserContext, int, Session, str, PagedData, approve_reimburse(), approved_by_me(), _build_details_data() (+23 more) ### Community 31 - "Community 31" -Cohesion: 0.20 -Nodes (31): Any, bool, CrmContractProductPriceTier, date, Decimal, int, Session, str (+23 more) +Cohesion: 0.12 +Nodes (44): Decimal, str, Any, bool, CrmContractProductPriceTier, date, Decimal, int (+36 more) ### Community 32 - "Community 32" -Cohesion: 0.17 -Nodes (27): Any, bool, int, Session, str, Query, approve_quote(), can_user_approve() (+19 more) +Cohesion: 0.18 +Nodes (19): bytes, int, str, download_file_bytes(), file_stream(), get_access_url(), get_download_url(), get_preview_url() (+11 more) ### Community 33 - "Community 33" Cohesion: 0.13 -Nodes (55): Any, int, Session, str, Any, bool, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作), CrmCustomer (+47 more) +Nodes (57): Any, int, Session, str, Any, bool, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作), CrmCustomer (+49 more) ### Community 34 - "Community 34" -Cohesion: 0.23 -Nodes (28): Engine, Path, build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str() (+20 more) +Cohesion: 0.22 +Nodes (29): Engine, Path, build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str() (+21 more) ### Community 35 - "Community 35" Cohesion: 0.26 Nodes (19): Any, bool, date, int, Session, str, _contact_row_to_dict(), create_contact() (+11 more) ### Community 36 - "Community 36" -Cohesion: 0.15 -Nodes (37): pool_rule_delete(), Any, bool, CRM 公海池规则 CRUD + 规则执行逻辑, int, Session, str, create_pool_rule() (+29 more) +Cohesion: 0.13 +Nodes (41): pool_rule_delete(), pool_rule_toggle(), pool_rule_update(), Any, bool, CRM 公海池规则 CRUD + 规则执行逻辑, int, Session (+33 more) ### Community 37 - "Community 37" Cohesion: 0.35 @@ -333,8 +329,8 @@ Cohesion: 0.18 Nodes (9): 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, 报销(bx)Pydantic 模型 — 响应协议与 bx 原系统保持一致, bx_health(), 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。 (+1 more) ### Community 40 - "Community 40" -Cohesion: 0.13 -Nodes (35): Any, bool, Decimal, int, Session, str, create_new_version(), batch_insert_quote_products() (+27 more) +Cohesion: 0.20 +Nodes (26): Any, bool, Decimal, int, Session, str, batch_insert_quote_products(), calculate_subtotal() (+18 more) ### Community 41 - "Community 41" Cohesion: 0.24 @@ -345,8 +341,8 @@ Cohesion: 0.08 Nodes (25): 技术栈, 1. 创建虚拟环境, 项目结构, 1. 创建虚拟环境, 2. 安装依赖, 2. 安装依赖, 3. 配置环境变量, 快速开始 (+17 more) ### Community 43 - "Community 43" -Cohesion: 0.16 -Nodes (22): Any, str, Any, int, str, str, 供 get_tenant_no 等门户工具使用。, BusinessException (+14 more) +Cohesion: 0.08 +Nodes (51): Any, str, Any, str, Any, int, str, Any (+43 more) ### Community 44 - "Community 44" Cohesion: 0.25 @@ -357,36 +353,36 @@ Cohesion: 0.38 Nodes (15): Any, bool, int, Session, str, create_site(), get_site(), list_sites() (+7 more) ### Community 46 - "Community 46" -Cohesion: 0.35 -Nodes (5): Any, str, WfProcessInstance, WorkflowEngine, WfProcessInstance +Cohesion: 0.33 +Nodes (10): Any, int, Session, str, list_ethnics(), 民族码表 CRUD(全局 sys_ethnic), _row_to_dict(), 民族码表 sys_ethnic(国标 GB/T 3304,全局) (+2 more) ### Community 47 - "Community 47" -Cohesion: 0.23 -Nodes (23): Any, Decimal, Session, str, create_from_opportunity(), _opportunity_products_to_contract_products(), Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id (+15 more) +Cohesion: 0.34 +Nodes (20): Any, Decimal, int, Session, str, batch_add_opportunity_products(), _calc_subtotal(), create_opportunity_product() (+12 more) ### Community 48 - "Community 48" -Cohesion: 0.17 -Nodes (20): datetime, int, str, date, 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, format_datetime(), generate_id(), generate_random_password() (+12 more) +Cohesion: 0.20 +Nodes (18): datetime, int, str, date, 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, format_datetime(), generate_random_password(), get_current_time() (+10 more) ### Community 49 - "Community 49" -Cohesion: 0.17 -Nodes (34): Any, bool, int, Session, str, SysUser, create_user(), get_user() (+26 more) +Cohesion: 0.05 +Nodes (134): approve_task(), _business_type_label(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields(), get_designer_data(), get_instance_detail() (+126 more) ### Community 50 - "Community 50" Cohesion: 0.08 -Nodes (49): 运输计划管理 - 基础数据 Schema(承运商、车辆、人员、证书), CarrierBase, CarrierCreate, CarrierRead, CarrierUpdate, DriverBase, DriverCreate, DriverRead (+41 more) +Nodes (47): 运输计划管理 - 基础数据 Schema(承运商、车辆、人员、证书), CarrierBase, CarrierCreate, CarrierRead, CarrierUpdate, DriverBase, DriverCreate, DriverRead (+39 more) ### Community 51 - "Community 51" -Cohesion: 0.26 -Nodes (22): approve_task(), _business_type_label(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields(), get_designer_data(), get_instance_detail() (+14 more) +Cohesion: 0.20 +Nodes (10): 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export, 导出供方列表 — Java: CrmSupplierInfoController.export (+2 more) ### Community 52 - "Community 52" Cohesion: 0.34 Nodes (18): Any, bool, datetime, int, Session, str, create_opportunity_follow(), get_opportunity_follow() (+10 more) ### Community 53 - "Community 53" -Cohesion: 0.12 -Nodes (73): date, DbUserContext, int, PlanCreateFull, PlPlan, Session, str, CreateFromContractRequest (+65 more) +Cohesion: 0.11 +Nodes (81): date, DbUserContext, int, PlanCreateFull, PlPlan, Session, str, int (+73 more) ### Community 54 - "Community 54" Cohesion: 0.11 @@ -397,8 +393,8 @@ Cohesion: 0.11 Nodes (19): 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll (+11 more) ### Community 56 - "Community 56" -Cohesion: 0.33 -Nodes (25): DbUserContext, DbVehicle, Session, str, VehicleCreate, VehicleRead, VehicleUpdate, vehicle_to_read() (+17 more) +Cohesion: 0.39 +Nodes (8): int, LeaveCreate, LeaveUpdate, Config, LeaveCreate, LeaveResponse, LeaveUpdate, Pydantic schemas - 请假申请 ### Community 57 - "Community 57" Cohesion: 0.11 @@ -417,16 +413,16 @@ Cohesion: 0.34 Nodes (16): Any, bool, int, Session, str, create_dict_type(), dict_type_code_exists(), get_dict_type() (+8 more) ### Community 61 - "Community 61" -Cohesion: 0.34 -Nodes (16): Any, int, Session, str, _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept() (+8 more) +Cohesion: 0.33 +Nodes (5): _coerce_optional_id(), WorkflowDefCreate, WorkflowDefUpdate, WorkflowNodeCreate, WorkflowNodeOut ### Community 62 - "Community 62" Cohesion: 0.21 Nodes (43): DbUserContext, int, Session, str, DbUserContext, FreightSettlementCreate, FreightSettlementListResponse, FreightSettlementRead (+35 more) ### Community 63 - "Community 63" -Cohesion: 0.17 -Nodes (29): Session, str, date, DbPurchasePlan, PlPlan, PlPlanProduct, Session, str (+21 more) +Cohesion: 0.23 +Nodes (26): bool, date, DbInboundOutbound, DbPurchasePlan, float, PlPlan, PlPlanProduct, PlTransport (+18 more) ### Community 64 - "Community 64" Cohesion: 0.33 @@ -441,8 +437,8 @@ Cohesion: 0.38 Nodes (15): Any, bool, int, Session, str, create_post(), get_post(), list_posts() (+7 more) ### Community 67 - "Community 67" -Cohesion: 0.16 -Nodes (21): Any, bool, Session, str, Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode (+13 more) +Cohesion: 0.11 +Nodes (28): bool, Redis, str, bool, bool, Any, bool, Session (+20 more) ### Community 68 - "Community 68" Cohesion: 0.12 @@ -457,8 +453,8 @@ Cohesion: 0.29 Nodes (14): is_valid_dict_type(), load_portal_baseline(), load_sx(), load_zkxw(), main(), map_tag_type(), normalize_row(), parse_insert() (+6 more) ### Community 71 - "Community 71" -Cohesion: 0.16 -Nodes (21): Session, str, Any, int, Session, str, apply_data_scope(), _get_child_dept_ids() (+13 more) +Cohesion: 0.30 +Nodes (11): Session, str, apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), 数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3, 根据用户角色的数据权限过滤查询。 Args: query: SQLAlchemy query 对象 model: 查询, 从 SysUser 读取用户的 dept_id。 (+3 more) ### Community 72 - "Community 72" Cohesion: 0.40 @@ -469,20 +465,20 @@ Cohesion: 0.42 Nodes (13): Any, bool, Session, str, _clear_default_for_customer(), create_invoice_info(), get_invoice_info(), list_invoice_info_by_customer() (+5 more) ### Community 74 - "Community 74" -Cohesion: 0.22 -Nodes (29): Any, int, Session, str, create_instance(), create_process_def(), create_task(), get_all_tasks_for_business() (+21 more) +Cohesion: 0.40 +Nodes (4): ContactByCustomerBody, ContactDetailBody, ContactSetPrimaryBody, CRM 联系人 Pydantic Schemas ### Community 75 - "Community 75" Cohesion: 0.27 Nodes (11): Any, bool, str, decrypt_login_payload(), ensure_initialized(), extract_login_credentials(), get_public_pem(), 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。 (+3 more) ### Community 76 - "Community 76" -Cohesion: 0.18 -Nodes (10): Any, Request, str, str, parse_admin_request_json(), 运营 Web(/web/admin)JSON 请求体解析。 与 ApiCryptoMiddleware 配合:中间件未改写 body 时,在路由内解密 `{, 读取 JSON body;dict 时走 resolve_request_payload(明文 / 密文 / data 包装)。 Returns:, 统一解析接口请求载荷(明文 / 密文信封)。 (+2 more) +Cohesion: 0.13 +Nodes (17): Any, Request, str, int, Request, str, parse_admin_request_json(), 运营 Web(/web/admin)JSON 请求体解析。 与 ApiCryptoMiddleware 配合:中间件未改写 body 时,在路由内解密 `{ (+9 more) ### Community 77 - "Community 77" -Cohesion: 0.29 -Nodes (7): export_contracts(), Java: queryList for export, Java: queryList for export, Java: queryList for export, Java: queryList for export, Java: queryList for export, Java: queryList for export +Cohesion: 0.40 +Nodes (4): CreateLinkForPlanPayload, InboundOutboundBase, InboundOutboundCreate, InboundOutboundUpdate ### Community 78 - "Community 78" Cohesion: 0.28 @@ -513,12 +509,16 @@ Cohesion: 0.20 Nodes (10): 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo, 供方详情 — Java: CrmSupplierInfoController.getInfo (+2 more) ### Community 85 - "Community 85" -Cohesion: 0.17 -Nodes (32): logout(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, refresh_token(), bool, Redis, Request (+24 more) +Cohesion: 0.09 +Nodes (56): _avatar_url_field(), _build_user_info_payload(), get_current_user_profile(), get_web_auth_menu_codes(), _jwt_user_payload(), logout(), public_quote_share(), 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线) (+48 more) ### Community 86 - "Community 86" -Cohesion: 0.16 -Nodes (16): bool, date, Session, str, get_last_month_range(), month_range(), 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla, 按月自动生成采购计划。 - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) - 遍历所有租户,按上月计划模板生 (+8 more) +Cohesion: 0.12 +Nodes (20): bool, date, Session, str, get_last_month_range(), month_range(), 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla, 按月自动生成采购计划。 - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) - 遍历所有租户,按上月计划模板生 (+12 more) + +### Community 87 - "Community 87" +Cohesion: 0.50 +Nodes (3): PurchasePlanBase, PurchasePlanCreate, PurchasePlanUpdate ### Community 88 - "Community 88" Cohesion: 0.16 @@ -530,7 +530,7 @@ Nodes (22): Any, bool, datetime, int, Session, str, BizSampleCode, batch_generat ### Community 90 - "Community 90" Cohesion: 0.17 -Nodes (22): Any, bool, bytes, int, Request, str, bool, int (+14 more) +Nodes (23): Any, bool, bytes, int, Request, str, bool, int (+15 more) ### Community 91 - "Community 91" Cohesion: 0.32 @@ -541,8 +541,8 @@ Cohesion: 0.40 Nodes (3): AdvanceApplyCreate, AdvanceApplyUpdate, _coerce_optional_id() ### Community 93 - "Community 93" -Cohesion: 0.19 -Nodes (59): InboundOutboundRead, bool, PurchasePlanRead, PurchasePlanWithFillLink, DbUserContext, DbWeighingSlip, Session, str (+51 more) +Cohesion: 0.28 +Nodes (42): InboundOutboundRead, bool, DbPurchasePlan, DbUserContext, PurchasePlanRead, PurchasePlanWithFillLink, WeighingSlipRead, bool (+34 more) ### Community 94 - "Community 94" Cohesion: 0.27 @@ -553,16 +553,20 @@ Cohesion: 0.28 Nodes (13): int, Session, str, _allocate_inbound_outbound_id(), _ensure_sequence_row(), max_numeric_inbound_outbound_id(), next_inbound_outbound_id(), 出入库单 id 生成 — 租户内纯数字自增,并发安全。 (+5 more) ### Community 96 - "Community 96" -Cohesion: 0.17 -Nodes (14): API 路由包 — 山峡化工生产一体化门户, get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,14 个一级菜单), operlog_detail(), operlog_list(), 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), Session, 运营端角色守卫:admin / super_admin 可访问。 (+6 more) +Cohesion: 0.47 +Nodes (5): OperLogDetailBody, OperLogListBody, 操作日志(兼容 RuoYi OperLog 视图), OperLogDetailBody, OperLogListBody ### Community 97 - "Community 97" Cohesion: 0.33 Nodes (14): Any, int, Session, str, create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options() (+6 more) +### Community 98 - "Community 98" +Cohesion: 0.50 +Nodes (3): WeighingSlipBase, WeighingSlipCreate, WeighingSlipUpdate + ### Community 99 - "Community 99" -Cohesion: 0.36 -Nodes (15): create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave(), update_leave() (+7 more) +Cohesion: 0.17 +Nodes (17): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave() (+9 more) ### Community 100 - "Community 100" Cohesion: 0.38 @@ -577,40 +581,24 @@ Cohesion: 0.15 Nodes (17): Any, _build_category_tree(), _category_row_to_dict(), _collect_category_with_ancestors(), list_categories(), list_category_tree(), list_oss_by_biz(), list_product_options() (+9 more) ### Community 103 - "Community 103" -Cohesion: 0.24 -Nodes (52): DbUserContext, int, PlTransport, Session, str, ApprovalRecordRead, ApprovalRequest, ApprovalSubmit (+44 more) - -### Community 104 - "Community 104" -Cohesion: 0.22 -Nodes (12): Any, bool, str, WfProcessInstance, _LocalCallbackFn, _dispatch_local(), 工作流回调服务 —— 流程状态变更时通知业务系统, 注册本地回调函数。当 callback_url 以 path 开头时直接调用 fn。 (+4 more) +Cohesion: 0.30 +Nodes (46): DbUserContext, int, PlTransport, Session, str, ApprovalRecordRead, ApprovalRequest, ApprovalSubmit (+38 more) ### Community 105 - "Community 105" -Cohesion: 0.39 -Nodes (15): DbUserContext, Session, str, DashboardCargoStat, DashboardPartnerCargoStat, DashboardStats, _cargo_stats(), DashboardCargoStat (+7 more) +Cohesion: 0.37 +Nodes (16): DbUserContext, Session, str, DashboardCargoStat, DashboardPartnerCargoStat, DashboardStats, _cargo_stats(), DashboardCargoStat (+8 more) ### Community 106 - "Community 106" Cohesion: 0.30 -Nodes (13): Any, bool, bytes, int, str, ApiCryptoError, _b64url_decode(), _b64url_encode() (+5 more) +Nodes (14): Any, bool, bytes, int, str, bytes, ApiCryptoError, _b64url_decode() (+6 more) ### Community 107 - "Community 107" Cohesion: 0.40 Nodes (10): SysOss, int, Session, str, SysOss, create_oss(), create_oss(), get_oss_by_url() (+2 more) -### Community 108 - "Community 108" -Cohesion: 0.41 -Nodes (11): Any, str, build_quote_html(), _default_value(), _format_date(), _format_discount(), _format_money(), generate_quote_pdf() (+3 more) - ### Community 109 - "Community 109" -Cohesion: 0.38 -Nodes (7): Any, bool, int, M, Session, str, M - -### Community 111 - "Community 111" -Cohesion: 0.06 -Nodes (68): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, register_contract_routes(), bool, bool, batch_assign_owner(), batch_submit_approval(), batch_submit_contract_approval(), ContractApprovalRefreshNamesBody (+60 more) - -### Community 112 - "Community 112" -Cohesion: 0.14 -Nodes (20): _avatar_url_field(), _build_user_info_payload(), get_current_user_profile(), get_web_auth_menu_codes(), _jwt_user_payload(), public_quote_share(), 获取当前用户信息(与 sys_user 字段对应)。, 获取当前用户信息(与 sys_user 字段对应)。 (+12 more) +Cohesion: 0.30 +Nodes (9): Any, bool, int, M, Session, str, BxCrudService, 报销模块 Service 基类 — 租户隔离 + UUID + 软删除。 (+1 more) ### Community 122 - "Community 122" Cohesion: 0.22 @@ -620,22 +608,10 @@ Nodes (9): generate_product_no(), 生成产品编号(格式:CP + yyyyMMdd + Cohesion: 0.22 Nodes (9): _get_quote_item_field(), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配) (+1 more) -### Community 124 - "Community 124" -Cohesion: 0.33 -Nodes (8): Decimal, str, derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() - -### Community 126 - "Community 126" -Cohesion: 0.22 -Nodes (9): Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人) (+1 more) - ### Community 128 - "Community 128" Cohesion: 0.33 Nodes (3): _coerce_id(), OffsetItem, ReimburseDetailCreate -### Community 129 - "Community 129" -Cohesion: 0.25 -Nodes (8): create_from_quote(), _quote_products_to_contract_products(), Java: createFromQuote — 返回合同 id, Java: createFromQuote — 返回合同 id, Java: createFromQuote — 返回合同 id, Java: createFromQuote — 返回合同 id, Java: createFromQuote — 返回合同 id, Java: createFromQuote — 返回合同 id - ### Community 133 - "Community 133" Cohesion: 0.25 Nodes (8): generate_auto_product_no(), Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符 @@ -646,24 +622,20 @@ Nodes (6): generate_barcode(), 生成唯一条码(纯数字:yyyyMMdd + 6位 ### Community 136 - "Community 136" Cohesion: 0.14 -Nodes (19): Session, str, Session, str, get_user_menu_codes(), 菜单 code 权限守卫(V0.3:通过 sys_user_role → sys_role_menu → sys_menu.perms), 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, 接口菜单权限守卫。super_admin 直接放行。 (+11 more) +Nodes (16): Session, str, Session, str, get_user_menu_codes(), 菜单 code 权限守卫(V0.3:通过 sys_user_role → sys_role_menu → sys_menu.perms), 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, 接口菜单权限守卫。super_admin 直接放行。 (+8 more) ### Community 137 - "Community 137" -Cohesion: 0.17 -Nodes (9): Any, Session, str, _auto_fill_create_dept_id(), get_db(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID, get_db_current_user_optional(), 地磅模块认证适配:门户 JWT 用户 → db 业务上下文。 (+1 more) +Cohesion: 0.67 +Nodes (3): Session, get_db_current_user_optional(), 有 Bearer 且为 admin/super_admin 时返回上下文,否则 None(供三方 H5 无登录调用)。 ### Community 138 - "Community 138" -Cohesion: 0.40 -Nodes (4): str, Config, format_api_error_message(), 将 HTTP/SQLAlchemy 等异常转为可展示的错误文案(避免 str([]) 空列表)。 +Cohesion: 0.50 +Nodes (3): Config, PageResult, ResponseModel ### Community 139 - "Community 139" Cohesion: 0.33 Nodes (3): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, 地磅(db)Pydantic schemas — 对齐原 simple-dibang-xiaoshou 契约。, 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。 -### Community 140 - "Community 140" -Cohesion: 0.22 -Nodes (33): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, StartInstanceBody, Any, bool, WfNode, WfProcessInstance (+25 more) - ### Community 141 - "Community 141" Cohesion: 0.22 Nodes (9): generate_contract_name(), Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName (+1 more) @@ -677,8 +649,8 @@ Cohesion: 0.40 Nodes (5): bool, str, get_password_hash(), 验证密码(哈希非 bcrypt 或损坏时返回 False,避免抛错), verify_password() ### Community 146 - "Community 146" -Cohesion: 0.22 -Nodes (24): int, PlTransport, Session, str, UploadFile, str, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义), 优先使用显式 folder;否则按 bizType 映射默认目录。 (+16 more) +Cohesion: 0.15 +Nodes (29): int, PlTransport, Session, str, UploadFile, str, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义), 优先使用显式 folder;否则按 bizType 映射默认目录。 (+21 more) ### Community 147 - "Community 147" Cohesion: 0.67 @@ -687,22 +659,22 @@ Nodes (3): Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), ## Knowledge Gaps - **61 isolated node(s):** `Any`, `Session`, `bool`, `bool`, `Config` (+56 more) These have ≤1 connection - possible missing edges or undocumented components. -- **2 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. +- **4 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 `Session` connect `Community 3` to `Community 1`, `Community 2`, `Community 4`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 23`, `Community 24`, `Community 25`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 40`, `Community 41`, `Community 44`, `Community 45`, `Community 46`, `Community 47`, `Community 49`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 55`, `Community 56`, `Community 57`, `Community 59`, `Community 60`, `Community 61`, `Community 62`, `Community 63`, `Community 64`, `Community 66`, `Community 67`, `Community 68`, `Community 69`, `Community 71`, `Community 73`, `Community 74`, `Community 77`, `Community 78`, `Community 79`, `Community 80`, `Community 81`, `Community 83`, `Community 84`, `Community 85`, `Community 86`, `Community 88`, `Community 89`, `Community 90`, `Community 93`, `Community 94`, `Community 95`, `Community 96`, `Community 97`, `Community 99`, `Community 102`, `Community 103`, `Community 105`, `Community 107`, `Community 109`, `Community 111`, `Community 112`, `Community 122`, `Community 123`, `Community 126`, `Community 129`, `Community 133`, `Community 135`, `Community 136`, `Community 137`, `Community 140`, `Community 143`?** - _High betweenness centrality (0.238) - this node is a cross-community bridge._ -- **Why does `BaseModel` connect `Community 12` to `Community 128`, `Community 0`, `Community 2`, `Community 4`, `Community 134`, `Community 6`, `Community 9`, `Community 10`, `Community 11`, `Community 140`, `Community 16`, `Community 146`, `Community 20`, `Community 21`, `Community 23`, `Community 25`, `Community 30`, `Community 41`, `Community 50`, `Community 51`, `Community 53`, `Community 56`, `Community 62`, `Community 65`, `Community 88`, `Community 92`, `Community 93`, `Community 96`, `Community 99`, `Community 100`, `Community 103`, `Community 105`, `Community 111`?** - _High betweenness centrality (0.046) - this node is a cross-community bridge._ -- **Why does `datetime` connect `Community 48` to `Community 0`, `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 134`, `Community 7`, `Community 9`, `Community 10`, `Community 12`, `Community 13`, `Community 14`, `Community 140`, `Community 16`, `Community 17`, `Community 146`, `Community 19`, `Community 18`, `Community 21`, `Community 23`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 40`, `Community 43`, `Community 44`, `Community 45`, `Community 47`, `Community 49`, `Community 50`, `Community 52`, `Community 53`, `Community 56`, `Community 59`, `Community 60`, `Community 61`, `Community 62`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 69`, `Community 73`, `Community 74`, `Community 78`, `Community 80`, `Community 81`, `Community 85`, `Community 86`, `Community 89`, `Community 90`, `Community 93`, `Community 94`, `Community 97`, `Community 103`, `Community 105`, `Community 108`, `Community 111`?** - _High betweenness centrality (0.040) - this node is a cross-community bridge._ -- **Are the 254 inferred relationships involving `str` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?** - _`str` has 254 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 251 inferred relationships involving `Session` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?** - _`Session` has 251 INFERRED edges - model-reasoned connections that need verification._ +- **Why does `Session` connect `Community 3` to `Community 2`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 23`, `Community 24`, `Community 25`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 33`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 40`, `Community 41`, `Community 43`, `Community 44`, `Community 45`, `Community 46`, `Community 47`, `Community 49`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 55`, `Community 56`, `Community 57`, `Community 59`, `Community 60`, `Community 62`, `Community 63`, `Community 64`, `Community 66`, `Community 67`, `Community 68`, `Community 69`, `Community 71`, `Community 73`, `Community 78`, `Community 79`, `Community 80`, `Community 81`, `Community 83`, `Community 84`, `Community 85`, `Community 86`, `Community 88`, `Community 89`, `Community 90`, `Community 93`, `Community 94`, `Community 95`, `Community 96`, `Community 97`, `Community 99`, `Community 102`, `Community 103`, `Community 104`, `Community 105`, `Community 107`, `Community 109`, `Community 122`, `Community 123`, `Community 133`, `Community 135`, `Community 136`, `Community 137`, `Community 143`?** + _High betweenness centrality (0.226) - this node is a cross-community bridge._ +- **Why does `BaseModel` connect `Community 12` to `Community 128`, `Community 1`, `Community 2`, `Community 0`, `Community 4`, `Community 134`, `Community 6`, `Community 9`, `Community 138`, `Community 11`, `Community 10`, `Community 15`, `Community 16`, `Community 146`, `Community 20`, `Community 21`, `Community 23`, `Community 30`, `Community 41`, `Community 49`, `Community 50`, `Community 53`, `Community 56`, `Community 61`, `Community 62`, `Community 65`, `Community 74`, `Community 77`, `Community 87`, `Community 88`, `Community 92`, `Community 93`, `Community 96`, `Community 98`, `Community 100`, `Community 103`, `Community 104`, `Community 105`, `Community 108`?** + _High betweenness centrality (0.061) - this node is a cross-community bridge._ +- **Why does `datetime` connect `Community 48` to `Community 0`, `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 134`, `Community 7`, `Community 6`, `Community 9`, `Community 10`, `Community 13`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 146`, `Community 19`, `Community 18`, `Community 21`, `Community 22`, `Community 23`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 40`, `Community 43`, `Community 44`, `Community 45`, `Community 47`, `Community 49`, `Community 50`, `Community 52`, `Community 53`, `Community 59`, `Community 60`, `Community 62`, `Community 63`, `Community 64`, `Community 65`, `Community 66`, `Community 67`, `Community 69`, `Community 73`, `Community 78`, `Community 80`, `Community 81`, `Community 85`, `Community 86`, `Community 89`, `Community 90`, `Community 93`, `Community 94`, `Community 97`, `Community 103`, `Community 105`?** + _High betweenness centrality (0.039) - this node is a cross-community bridge._ +- **Are the 251 inferred relationships involving `str` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?** + _`str` has 251 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 248 inferred relationships involving `Session` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?** + _`Session` has 248 INFERRED edges - model-reasoned connections that need verification._ - **Are the 140 inferred relationships involving `int` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?** _`int` has 140 INFERRED edges - model-reasoned connections that need verification._ - **What connects `数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误`, `未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin`, `每月 1 日凌晨执行:按上月计划模板生成本月计划。` to the rest of the system?** - _805 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file + _813 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/1328a14fd4aa492cf2ccf5f1b7d6b935f532c40cb1d80ddba12ffb97cba67f88.json b/backend/graphify-out/cache/ast/1328a14fd4aa492cf2ccf5f1b7d6b935f532c40cb1d80ddba12ffb97cba67f88.json new file mode 100644 index 000000000..8eab4e5b5 --- /dev/null +++ b/backend/graphify-out/cache/ast/1328a14fd4aa492cf2ccf5f1b7d6b935f532c40cb1d80ddba12ffb97cba67f88.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L1"}, {"id": "bx_reimburse_coerce_id", "label": "_coerce_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L9"}, {"id": "bx_reimburse_reimbursedetailcreate", "label": "ReimburseDetailCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L15"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "bx_reimburse_reimbursedetailcreate_validate_expense_item_id", "label": ".validate_expense_item_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L24"}, {"id": "bx_reimburse_reimbursedetailout", "label": "ReimburseDetailOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L31"}, {"id": "bx_reimburse_reimburseapplycreate", "label": "ReimburseApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L41"}, {"id": "bx_reimburse_reimburseapplycreate_details_must_not_be_empty", "label": ".details_must_not_be_empty()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L51"}, {"id": "bx_reimburse_reimburseapplyupdate", "label": "ReimburseApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L57"}, {"id": "bx_reimburse_reimburseapplyout", "label": "ReimburseApplyOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L66"}, {"id": "bx_reimburse_reimburseapprovalcreate", "label": "ReimburseApprovalCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L93"}, {"id": "bx_reimburse_reimburseapprovalout", "label": "ReimburseApprovalOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L100"}, {"id": "bx_reimburse_reimbursemystatsout", "label": "ReimburseMyStatsOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L113"}, {"id": "bx_reimburse_reimburseapproverpendingstatsout", "label": "ReimburseApproverPendingStatsOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L125"}, {"id": "bx_reimburse_payrequest", "label": "PayRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L132"}, {"id": "bx_reimburse_offsetrequest", "label": "OffsetRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L139"}, {"id": "bx_reimburse_offsetrequest_validate_advance_id", "label": ".validate_advance_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L148"}, {"id": "bx_reimburse_offsetitem", "label": "OffsetItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L155"}, {"id": "bx_reimburse_offsetitem_validate_advance_id", "label": ".validate_advance_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L163"}, {"id": "bx_reimburse_batchoffsetrequest", "label": "BatchOffsetRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L170"}, {"id": "bx_reimburse_reimburseoffsetrecordout", "label": "ReimburseOffsetRecordOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L178"}, {"id": "bx_reimburse_paymentfinancestatsout", "label": "PaymentFinanceStatsOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L191"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "pydantic_alias_generators", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_coerce_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimbursedetailcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L15", "weight": 1.0}, {"source": "bx_reimburse_reimbursedetailcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L15", "weight": 1.0}, {"source": "bx_reimburse_reimbursedetailcreate", "target": "bx_reimburse_reimbursedetailcreate_validate_expense_item_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimbursedetailout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L31", "weight": 1.0}, {"source": "bx_reimburse_reimbursedetailout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapplycreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseapplycreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseapplycreate", "target": "bx_reimburse_reimburseapplycreate_details_must_not_be_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapplyupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L57", "weight": 1.0}, {"source": "bx_reimburse_reimburseapplyupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapplyout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseapplyout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapprovalcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseapprovalcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapprovalout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L100", "weight": 1.0}, {"source": "bx_reimburse_reimburseapprovalout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L100", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimbursemystatsout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_reimbursemystatsout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseapproverpendingstatsout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L125", "weight": 1.0}, {"source": "bx_reimburse_reimburseapproverpendingstatsout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L125", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_payrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_reimburse_payrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_offsetrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L139", "weight": 1.0}, {"source": "bx_reimburse_offsetrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L139", "weight": 1.0}, {"source": "bx_reimburse_offsetrequest", "target": "bx_reimburse_offsetrequest_validate_advance_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L148", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_offsetitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L155", "weight": 1.0}, {"source": "bx_reimburse_offsetitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L155", "weight": 1.0}, {"source": "bx_reimburse_offsetitem", "target": "bx_reimburse_offsetitem_validate_advance_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L163", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_batchoffsetrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L170", "weight": 1.0}, {"source": "bx_reimburse_batchoffsetrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L170", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_reimburseoffsetrecordout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L178", "weight": 1.0}, {"source": "bx_reimburse_reimburseoffsetrecordout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L178", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_bx_reimburse_py", "target": "bx_reimburse_paymentfinancestatsout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L191", "weight": 1.0}, {"source": "bx_reimburse_paymentfinancestatsout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L191", "weight": 1.0}, {"source": "bx_reimburse_reimbursedetailcreate_validate_expense_item_id", "target": "bx_reimburse_coerce_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L25", "weight": 1.0}, {"source": "bx_reimburse_offsetrequest_validate_advance_id", "target": "bx_reimburse_coerce_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L149", "weight": 1.0}, {"source": "bx_reimburse_offsetitem_validate_advance_id", "target": "bx_reimburse_coerce_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L164", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_reimburse_coerce_id", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L12"}, {"caller_nid": "bx_reimburse_reimbursedetailcreate_validate_expense_item_id", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L27"}, {"caller_nid": "bx_reimburse_reimburseapplycreate_details_must_not_be_empty", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L53"}, {"caller_nid": "bx_reimburse_offsetrequest_validate_advance_id", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L151"}, {"caller_nid": "bx_reimburse_offsetitem_validate_advance_id", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py", "source_location": "L166"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e.json b/backend/graphify-out/cache/ast/28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e.json new file mode 100644 index 000000000..aa607ce32 --- /dev/null +++ b/backend/graphify-out/cache/ast/28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "label": "migrate_dibang_data.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L1"}, {"id": "scripts_migrate_dibang_data_migrationstats", "label": "MigrationStats", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L56"}, {"id": "scripts_migrate_dibang_data_parse_date", "label": "parse_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64"}, {"id": "scripts_migrate_dibang_data_parse_datetime", "label": "parse_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L80"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L80"}, {"id": "scripts_migrate_dibang_data_clip_text", "label": "clip_text()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104"}, {"id": "scripts_migrate_dibang_data_fetch_rows", "label": "fetch_rows()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L114"}, {"id": "engine", "label": "Engine", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L114"}, {"id": "scripts_migrate_dibang_data_count_rows", "label": "count_rows()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L120"}, {"id": "scripts_migrate_dibang_data_map_id", "label": "map_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125"}, {"id": "scripts_migrate_dibang_data_legacy_id_to_str", "label": "legacy_id_to_str()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L145"}, {"id": "scripts_migrate_dibang_data_build_id_maps", "label": "build_id_maps()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150"}, {"id": "scripts_migrate_dibang_data_transform_plan", "label": "transform_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159"}, {"id": "scripts_migrate_dibang_data_transform_inventory", "label": "transform_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200"}, {"id": "scripts_migrate_dibang_data_transform_weighing", "label": "transform_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238"}, {"id": "scripts_migrate_dibang_data_truncate_target_tables", "label": "truncate_target_tables()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L347"}, {"id": "scripts_migrate_dibang_data_export_mapping", "label": "export_mapping()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355"}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355"}, {"id": "scripts_migrate_dibang_data_print_report", "label": "print_report()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L363"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L363"}, {"id": "scripts_migrate_dibang_data_migrate", "label": "migrate()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392"}, {"id": "scripts_migrate_dibang_data_main", "label": "main()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L496"}, {"id": "scripts_migrate_dibang_data_rationale_146", "label": "\u539f\u5730\u78c5 int \u4e3b\u952e\u539f\u6837\u4fdd\u7559\uff0c\u5199\u5165\u95e8\u6237 VARCHAR(64) \u5b57\u6bb5\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L146"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "sqlalchemy_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_parse_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_date", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L64", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_parse_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L80", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_datetime", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L80", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_clip_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_clip_text", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_clip_text", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_clip_text", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_clip_text", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_clip_text", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L104", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_fetch_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L114", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_fetch_rows", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L114", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_fetch_rows", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L114", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_count_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L120", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_count_rows", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L120", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_count_rows", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L120", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_count_rows", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L120", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_map_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_map_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L125", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_legacy_id_to_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L145", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_legacy_id_to_str", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L145", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_legacy_id_to_str", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L145", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_build_id_maps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_build_id_maps", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_build_id_maps", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_build_id_maps", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_build_id_maps", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L150", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_transform_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_transform_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L200", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_transform_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L238", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_truncate_target_tables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L347", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_truncate_target_tables", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L347", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_export_mapping", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_export_mapping", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_export_mapping", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_export_mapping", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_export_mapping", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L355", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_print_report", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L363", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_print_report", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L363", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_print_report", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L363", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_migrate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "engine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "path", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L392", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L496", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_main", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L496", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L74", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_parse_datetime", "target": "scripts_migrate_dibang_data_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L100", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_build_id_maps", "target": "scripts_migrate_dibang_data_legacy_id_to_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L154", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "scripts_migrate_dibang_data_parse_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L167", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "scripts_migrate_dibang_data_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L168", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L168", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_plan", "target": "scripts_migrate_dibang_data_clip_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L190", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "scripts_migrate_dibang_data_parse_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L207", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "scripts_migrate_dibang_data_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L210", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L210", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "scripts_migrate_dibang_data_map_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L219", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_inventory", "target": "scripts_migrate_dibang_data_clip_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L228", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "scripts_migrate_dibang_data_parse_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L245", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "scripts_migrate_dibang_data_map_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L265", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_weighing", "target": "scripts_migrate_dibang_data_clip_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L284", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_migrationstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L402", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_fetch_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L406", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_build_id_maps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L412", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_transform_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L416", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_transform_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L426", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_transform_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L436", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_map_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L453", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_parse_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L460", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_print_report", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L466", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_truncate_target_tables", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L471", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_export_mapping", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L489", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L549", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_main", "target": "scripts_migrate_dibang_data_migrate", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L552", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_rationale_146", "target": "scripts_migrate_dibang_data_legacy_id_to_str", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L146", "weight": 1.0}], "raw_calls": [{"caller_nid": "scripts_migrate_dibang_data_parse_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L69"}, {"caller_nid": "scripts_migrate_dibang_data_parse_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L74"}, {"caller_nid": "scripts_migrate_dibang_data_parse_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L77"}, {"caller_nid": "scripts_migrate_dibang_data_parse_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L85"}, {"caller_nid": "scripts_migrate_dibang_data_parse_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L97"}, {"caller_nid": "scripts_migrate_dibang_data_parse_datetime", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L101"}, {"caller_nid": "scripts_migrate_dibang_data_parse_datetime", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L101"}, {"caller_nid": "scripts_migrate_dibang_data_clip_text", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L110"}, {"caller_nid": "scripts_migrate_dibang_data_fetch_rows", "callee": "connect", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L115"}, {"caller_nid": "scripts_migrate_dibang_data_fetch_rows", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L116"}, {"caller_nid": "scripts_migrate_dibang_data_fetch_rows", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L116"}, {"caller_nid": "scripts_migrate_dibang_data_count_rows", "callee": "connect", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L121"}, {"caller_nid": "scripts_migrate_dibang_data_count_rows", "callee": "scalar_one", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L122"}, {"caller_nid": "scripts_migrate_dibang_data_count_rows", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L122"}, {"caller_nid": "scripts_migrate_dibang_data_count_rows", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L122"}, {"caller_nid": "scripts_migrate_dibang_data_map_id", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L137"}, {"caller_nid": "scripts_migrate_dibang_data_map_id", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L139"}, {"caller_nid": "scripts_migrate_dibang_data_map_id", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L139"}, {"caller_nid": "scripts_migrate_dibang_data_map_id", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L141"}, {"caller_nid": "scripts_migrate_dibang_data_build_id_maps", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L152"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L167"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L167"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L168"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L168"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L171"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L173"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L174"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L177"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L179"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L180"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L181"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L182"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L184"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L185"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L186"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L187"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L190"}, {"caller_nid": "scripts_migrate_dibang_data_transform_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L196"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L207"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L207"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L210"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L215"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L216"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L218"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L221"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L224"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L228"}, {"caller_nid": "scripts_migrate_dibang_data_transform_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L234"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L245"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L245"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L246"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L247"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L251"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L254"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L261"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L263"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L264"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L267"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L270"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L274"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L277"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L279"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L280"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L281"}, {"caller_nid": "scripts_migrate_dibang_data_transform_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L284"}, {"caller_nid": "scripts_migrate_dibang_data_truncate_target_tables", "callee": "values", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L348"}, {"caller_nid": "scripts_migrate_dibang_data_truncate_target_tables", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L349"}, {"caller_nid": "scripts_migrate_dibang_data_truncate_target_tables", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L350"}, {"caller_nid": "scripts_migrate_dibang_data_export_mapping", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L357"}, {"caller_nid": "scripts_migrate_dibang_data_export_mapping", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L358"}, {"caller_nid": "scripts_migrate_dibang_data_export_mapping", "callee": "write_text", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L360"}, {"caller_nid": "scripts_migrate_dibang_data_export_mapping", "callee": "dumps", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L360"}, {"caller_nid": "scripts_migrate_dibang_data_print_report", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L367"}, {"caller_nid": "scripts_migrate_dibang_data_print_report", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L372"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L405"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L408"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L449"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L458"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L460"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L460"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L460"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L461"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L464"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "begin", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L469"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L475"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L475"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L479"}, {"caller_nid": "scripts_migrate_dibang_data_migrate", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L480"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L497"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L498"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L503"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L508"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L513"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L518"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L523"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L528"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "parse_args", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L533"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L535"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L546"}, {"caller_nid": "scripts_migrate_dibang_data_main", "callee": "create_engine", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L547"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2c76c20e3567bb020e334a0efb189c1118decbfb3d4958f5a40631859bbdbcee.json b/backend/graphify-out/cache/ast/2c76c20e3567bb020e334a0efb189c1118decbfb3d4958f5a40631859bbdbcee.json new file mode 100644 index 000000000..93c52032d --- /dev/null +++ b/backend/graphify-out/cache/ast/2c76c20e3567bb020e334a0efb189c1118decbfb3d4958f5a40631859bbdbcee.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "label": "pl_dibang_bridge_service.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L1"}, {"id": "services_pl_dibang_bridge_service_dibanginventorylinkresult", "label": "DibangInventoryLinkResult", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L27"}, {"id": "services_pl_dibang_bridge_service_resolve_partner_company", "label": "resolve_partner_company()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36"}, {"id": "services_pl_dibang_bridge_service_month_range", "label": "_month_range()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44"}, {"id": "services_pl_dibang_bridge_service_plan_type_to_business_type", "label": "_plan_type_to_business_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L51"}, {"id": "services_pl_dibang_bridge_service_product_quantity", "label": "_product_quantity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59"}, {"id": "plplanproduct", "label": "PlPlanProduct", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59"}, {"id": "services_pl_dibang_bridge_service_generate_batch_no", "label": "_generate_batch_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66"}, {"id": "services_pl_dibang_bridge_service_find_monthly_db_plan", "label": "find_monthly_db_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86"}, {"id": "services_pl_dibang_bridge_service_create_db_plan", "label": "_create_db_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115"}, {"id": "services_pl_dibang_bridge_service_create_db_inventory", "label": "_create_db_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156"}, {"id": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "label": "_inventory_has_weighing_slip()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196"}, {"id": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "label": "revoke_regeneratable_dibang_for_transport()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209"}, {"id": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "label": "sync_dibang_for_transport()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283"}, {"id": "pltransport", "label": "PlTransport", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283"}, {"id": "services_pl_dibang_bridge_service_rationale_216", "label": "\u518d\u6b21\u52fe\u9009\u5730\u78c5\u5b89\u6392\u524d\uff1a\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\uff08\u53ef\u80fd\u88ab\u5176\u4ed6\u4e1a\u52a1\u590d\u7528\uff09 - \u82e5\u51fa\u5165\u5e93\u5355\u5df2\u5b8c\u6210\u7684/\u5df2", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L216"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "calendar", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_models_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_services_db_inventory_id", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_services_db_mappers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_services_db_plan_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "app_services_db_product_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_dibanginventorylinkresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_resolve_partner_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_resolve_partner_company", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_resolve_partner_company", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_resolve_partner_company", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L36", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_month_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_month_range", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_plan_type_to_business_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L51", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_plan_type_to_business_type", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L51", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_plan_type_to_business_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_product_quantity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_product_quantity", "target": "plplanproduct", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_product_quantity", "target": "float", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L59", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_generate_batch_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_generate_batch_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_generate_batch_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_generate_batch_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L66", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_find_monthly_db_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "dbpurchaseplan", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_create_db_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "plplanproduct", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L115", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_create_db_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "plplanproduct", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "dbinboundoutbound", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L196", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L209", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_dibang_bridge_service_py", "target": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "pltransport", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_dibanginventorylinkresult", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_find_monthly_db_plan", "target": "services_pl_dibang_bridge_service_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L95", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L128", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_plan", "target": "services_pl_dibang_bridge_service_product_quantity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L136", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "dbinboundoutbound", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L170", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "services_pl_dibang_bridge_service_product_quantity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L176", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_create_db_inventory", "target": "services_pl_dibang_bridge_service_generate_batch_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "target": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L254", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_plan_type_to_business_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L293", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_resolve_partner_company", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L297", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L303", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L307", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L312", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_find_monthly_db_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L325", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_create_db_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L335", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_create_db_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L348", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "target": "services_pl_dibang_bridge_service_dibanginventorylinkresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_dibang_bridge_service_rationale_216", "target": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L216", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_dibang_bridge_service_resolve_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L38"}, {"caller_nid": "services_pl_dibang_bridge_service_resolve_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L40"}, {"caller_nid": "services_pl_dibang_bridge_service_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L45"}, {"caller_nid": "services_pl_dibang_bridge_service_month_range", "callee": "monthrange", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L46"}, {"caller_nid": "services_pl_dibang_bridge_service_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L47"}, {"caller_nid": "services_pl_dibang_bridge_service_generate_batch_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L68"}, {"caller_nid": "services_pl_dibang_bridge_service_generate_batch_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L72"}, {"caller_nid": "services_pl_dibang_bridge_service_generate_batch_no", "callee": "compile", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L77"}, {"caller_nid": "services_pl_dibang_bridge_service_generate_batch_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L80"}, {"caller_nid": "services_pl_dibang_bridge_service_generate_batch_no", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L82"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L96"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L97"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L99"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L112"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L112"}, {"caller_nid": "services_pl_dibang_bridge_service_find_monthly_db_plan", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L112"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L127"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L129"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L131"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L136"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L137"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "default_execution_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L140"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "apply_product_snapshot_to_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L150"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L151"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_plan", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L152"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L168"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "next_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L171"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L176"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L177"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L179"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "apply_product_snapshot_to_inventory", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L186"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L187"}, {"caller_nid": "services_pl_dibang_bridge_service_create_db_inventory", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L188"}, {"caller_nid": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L198"}, {"caller_nid": "services_pl_dibang_bridge_service_inventory_has_weighing_slip", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L198"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L222"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L236"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L236"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L250"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L252"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L255"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L258"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L260"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L266"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L266"}, {"caller_nid": "services_pl_dibang_bridge_service_revoke_regeneratable_dibang_for_transport", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L280"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L299"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L305"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L306"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L309"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L323"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "PlTransportDbLink", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L361"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L362"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L373"}, {"caller_nid": "services_pl_dibang_bridge_service_sync_dibang_for_transport", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py", "source_location": "L375"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/4e6f5c9dc5da476842c667e0ec87f66b3f2f55deaaa4bf35868d671efb0c4d8c.json b/backend/graphify-out/cache/ast/4e6f5c9dc5da476842c667e0ec87f66b3f2f55deaaa4bf35868d671efb0c4d8c.json new file mode 100644 index 000000000..5d797f8e0 --- /dev/null +++ b/backend/graphify-out/cache/ast/4e6f5c9dc5da476842c667e0ec87f66b3f2f55deaaa4bf35868d671efb0c4d8c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "label": "db_models.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L1"}, {"id": "models_db_models_dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L9"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "models_db_models_dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L44"}, {"id": "models_db_models_dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L73"}, {"id": "models_db_models_dbsequence", "label": "DbSequence", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L112"}, {"id": "models_db_models_rationale_1", "label": "\u5730\u78c5\uff08db\uff09\u6a21\u5757\u6570\u636e\u6a21\u578b \u2014 \u5bf9\u9f50 docs/sql/db_tables.sql", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "models_db_models_dbpurchaseplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L9", "weight": 1.0}, {"source": "models_db_models_dbpurchaseplan", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "models_db_models_dbinboundoutbound", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L44", "weight": 1.0}, {"source": "models_db_models_dbinboundoutbound", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "models_db_models_dbweighingslip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L73", "weight": 1.0}, {"source": "models_db_models_dbweighingslip", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L73", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "target": "models_db_models_dbsequence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L112", "weight": 1.0}, {"source": "models_db_models_dbsequence", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L112", "weight": 1.0}, {"source": "models_db_models_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_models_db_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f.json b/backend/graphify-out/cache/ast/822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f.json new file mode 100644 index 000000000..73f2e1c60 --- /dev/null +++ b/backend/graphify-out/cache/ast/822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L1"}, {"id": "db_init_db_health", "label": "db_health()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L14"}, {"id": "db_init_rationale_1", "label": "\u5730\u78c5 API \u8def\u7531\u805a\u5408 \u2014 REST \u98ce\u683c\uff0c\u534f\u8bae\u5bf9\u9f50\u539f simple-dibang-xiaoshou\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_init_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_init_py", "target": "app_api_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_init_py", "target": "db_init_db_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L14", "weight": 1.0}, {"source": "db_init_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97.json b/backend/graphify-out/cache/ast/bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97.json new file mode 100644 index 000000000..423254951 --- /dev/null +++ b/backend/graphify-out/cache/ast/bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "label": "bx_codegen.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L1"}, {"id": "utils_bx_codegen_generate_apply_code", "label": "generate_apply_code()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15"}, {"id": "utils_bx_codegen_parse_reimburse_date", "label": "parse_reimburse_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40"}, {"id": "utils_bx_codegen_format_reimburse_title", "label": "format_reimburse_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53"}, {"id": "utils_bx_codegen_is_auto_reimburse_title", "label": "is_auto_reimburse_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L57"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L57"}, {"id": "utils_bx_codegen_preview_reimburse_title_seq", "label": "preview_reimburse_title_seq()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61"}, {"id": "utils_bx_codegen_allocate_reimburse_title_seq", "label": "allocate_reimburse_title_seq()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80"}, {"id": "utils_bx_codegen_generate_title", "label": "generate_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102"}, {"id": "utils_bx_codegen_resolve_reimburse_title", "label": "resolve_reimburse_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115"}, {"id": "utils_bx_codegen_rationale_1", "label": "\u62a5\u9500\u5355\u53f7/\u6807\u9898\u751f\u6210\uff08\u4ece bx-backend \u8fc1\u79fb\uff0c\u589e\u52a0 tenant_no \u9694\u79bb\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L1"}, {"id": "utils_bx_codegen_rationale_16", "label": "\u751f\u6210\u987a\u5e8f\u5355\u53f7\uff1a{prefix}{YYYYMMDD}{3\u4f4d\u5e8f\u53f7}\u3002 prefix \u793a\u4f8b\uff1aBYJ\uff08\u5907\u7528\u91d1\uff09\u3001BX\uff08\u62a5\u9500\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L16"}, {"id": "utils_bx_codegen_rationale_86", "label": "\u5206\u914d\u540c\u79df\u6237\u3001\u540c\u62a5\u9500\u65e5\u671f\u4e0b\u7684\u6807\u9898\u5e8f\u53f7\uff08MAX+1\uff09\u3002 \u914d\u5408 uk_tenant_reimburse_date_title_seq \u552f\u4e00\u7ea6\u675f\uff0c\u5e76\u53d1\u51b2\u7a81\u65f6\u7531\u4e0a", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L86"}, {"id": "utils_bx_codegen_rationale_109", "label": "\u9884\u89c8\u7528\u6807\u9898\u751f\u6210\uff08\u63d0\u4ea4\u65f6\u4ecd\u4f1a\u5728\u670d\u52a1\u7aef\u91cd\u65b0\u5206\u914d\u5e8f\u53f7\u4ee5\u4fdd\u8bc1\u5e76\u53d1\u5b89\u5168\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L109"}, {"id": "utils_bx_codegen_rationale_123", "label": "\u786e\u5b9a\u6700\u7ec8\u6807\u9898\u4e0e title_seq\u3002 - \u672a\u586b\u6807\u9898\u6216\u4ecd\u4e3a\u81ea\u52a8\u6807\u9898\u683c\u5f0f\u65f6\uff1a\u6309\u62a5\u9500\u65e5\u671f\u91cd\u65b0\u5206\u914d\u5e8f\u53f7\u5e76\u751f\u6210\u6807\u9898\u3002 - \u81ea\u5b9a\u4e49\u6807\u9898\uff1atitle_seq", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L123"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_generate_apply_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15", "weight": 1.0}, {"source": "utils_bx_codegen_generate_apply_code", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15", "weight": 1.0}, {"source": "utils_bx_codegen_generate_apply_code", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15", "weight": 1.0}, {"source": "utils_bx_codegen_generate_apply_code", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15", "weight": 1.0}, {"source": "utils_bx_codegen_generate_apply_code", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_parse_reimburse_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40", "weight": 1.0}, {"source": "utils_bx_codegen_parse_reimburse_date", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40", "weight": 1.0}, {"source": "utils_bx_codegen_parse_reimburse_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40", "weight": 1.0}, {"source": "utils_bx_codegen_parse_reimburse_date", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40", "weight": 1.0}, {"source": "utils_bx_codegen_parse_reimburse_date", "target": "date", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_format_reimburse_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53", "weight": 1.0}, {"source": "utils_bx_codegen_format_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53", "weight": 1.0}, {"source": "utils_bx_codegen_format_reimburse_title", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53", "weight": 1.0}, {"source": "utils_bx_codegen_format_reimburse_title", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53", "weight": 1.0}, {"source": "utils_bx_codegen_format_reimburse_title", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L53", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_is_auto_reimburse_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_codegen_is_auto_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_codegen_is_auto_reimburse_title", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_preview_reimburse_title_seq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "utils_bx_codegen_preview_reimburse_title_seq", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "utils_bx_codegen_preview_reimburse_title_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "utils_bx_codegen_preview_reimburse_title_seq", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "utils_bx_codegen_preview_reimburse_title_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "utils_bx_codegen_preview_reimburse_title_seq", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L61", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_allocate_reimburse_title_seq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_bx_codegen_allocate_reimburse_title_seq", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_bx_codegen_allocate_reimburse_title_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_bx_codegen_allocate_reimburse_title_seq", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_bx_codegen_allocate_reimburse_title_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "utils_bx_codegen_allocate_reimburse_title_seq", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_generate_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L102", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "target": "utils_bx_codegen_resolve_reimburse_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L115", "weight": 1.0}, {"source": "utils_bx_codegen_parse_reimburse_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L42", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "utils_bx_codegen_parse_reimburse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L110", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "utils_bx_codegen_preview_reimburse_title_seq", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L111", "weight": 1.0}, {"source": "utils_bx_codegen_generate_title", "target": "utils_bx_codegen_format_reimburse_title", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L112", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "utils_bx_codegen_is_auto_reimburse_title", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L129", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "utils_bx_codegen_allocate_reimburse_title_seq", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L132", "weight": 1.0}, {"source": "utils_bx_codegen_resolve_reimburse_title", "target": "utils_bx_codegen_format_reimburse_title", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L135", "weight": 1.0}, {"source": "utils_bx_codegen_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_codegen_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L1", "weight": 1.0}, {"source": "utils_bx_codegen_rationale_16", "target": "utils_bx_codegen_generate_apply_code", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L16", "weight": 1.0}, {"source": "utils_bx_codegen_rationale_86", "target": "utils_bx_codegen_allocate_reimburse_title_seq", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L86", "weight": 1.0}, {"source": "utils_bx_codegen_rationale_109", "target": "utils_bx_codegen_generate_title", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L109", "weight": 1.0}, {"source": "utils_bx_codegen_rationale_123", "target": "utils_bx_codegen_resolve_reimburse_title", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L123", "weight": 1.0}], "raw_calls": [{"caller_nid": "utils_bx_codegen_generate_apply_code", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L20"}, {"caller_nid": "utils_bx_codegen_generate_apply_code", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L20"}, {"caller_nid": "utils_bx_codegen_generate_apply_code", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L23"}, {"caller_nid": "utils_bx_codegen_generate_apply_code", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L23"}, {"caller_nid": "utils_bx_codegen_generate_apply_code", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L24"}, {"caller_nid": "utils_bx_codegen_parse_reimburse_date", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L42"}, {"caller_nid": "utils_bx_codegen_parse_reimburse_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L47"}, {"caller_nid": "utils_bx_codegen_parse_reimburse_date", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L49"}, {"caller_nid": "utils_bx_codegen_parse_reimburse_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L50"}, {"caller_nid": "utils_bx_codegen_format_reimburse_title", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L54"}, {"caller_nid": "utils_bx_codegen_is_auto_reimburse_title", "callee": "search", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L58"}, {"caller_nid": "utils_bx_codegen_is_auto_reimburse_title", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L58"}, {"caller_nid": "utils_bx_codegen_preview_reimburse_title_seq", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L68"}, {"caller_nid": "utils_bx_codegen_preview_reimburse_title_seq", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L72"}, {"caller_nid": "utils_bx_codegen_preview_reimburse_title_seq", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L76"}, {"caller_nid": "utils_bx_codegen_allocate_reimburse_title_seq", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L90"}, {"caller_nid": "utils_bx_codegen_allocate_reimburse_title_seq", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L94"}, {"caller_nid": "utils_bx_codegen_allocate_reimburse_title_seq", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L98"}, {"caller_nid": "utils_bx_codegen_allocate_reimburse_title_seq", "callee": "with_for_update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L98"}, {"caller_nid": "utils_bx_codegen_resolve_reimburse_title", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py", "source_location": "L128"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/c52fce2a05504e9a24809615fe5e33a2582a38536623f5119691c5d2e994370c.json b/backend/graphify-out/cache/ast/c52fce2a05504e9a24809615fe5e33a2582a38536623f5119691c5d2e994370c.json new file mode 100644 index 000000000..6aba62c0d --- /dev/null +++ b/backend/graphify-out/cache/ast/c52fce2a05504e9a24809615fe5e33a2582a38536623f5119691c5d2e994370c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "label": "mappers.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L1"}, {"id": "db_mappers_fmt_date", "label": "fmt_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16"}, {"id": "db_mappers_fmt_datetime", "label": "fmt_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L26"}, {"id": "db_mappers_plan_to_read", "label": "plan_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34"}, {"id": "db_mappers_plan_to_read_with_fill_link", "label": "plan_to_read_with_fill_link()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63"}, {"id": "db_mappers_is_empty_inventory_date", "label": "is_empty_inventory_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L76"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L76"}, {"id": "db_mappers_inventory_date_to_api", "label": "inventory_date_to_api()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L80"}, {"id": "db_mappers_inventory_to_read", "label": "inventory_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86"}, {"id": "db_mappers_weighing_to_read", "label": "weighing_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135"}, {"id": "db_mappers_datetime_end_of_day", "label": "datetime_end_of_day()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L166"}, {"id": "db_mappers_parse_date_str", "label": "parse_date_str()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L170"}, {"id": "db_mappers_parse_datetime_str", "label": "parse_datetime_str()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L179"}, {"id": "db_mappers_rationale_1", "label": "\u5730\u78c5 ORM \u2192 API Read \u6a21\u578b\u6620\u5c04\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_models_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_schemas_db_inventory", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_schemas_db_plans", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_schemas_db_weighing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_fmt_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16", "weight": 1.0}, {"source": "db_mappers_fmt_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16", "weight": 1.0}, {"source": "db_mappers_fmt_date", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16", "weight": 1.0}, {"source": "db_mappers_fmt_date", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16", "weight": 1.0}, {"source": "db_mappers_fmt_date", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_fmt_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L26", "weight": 1.0}, {"source": "db_mappers_fmt_datetime", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L26", "weight": 1.0}, {"source": "db_mappers_fmt_datetime", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L26", "weight": 1.0}, {"source": "db_mappers_fmt_datetime", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_plan_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_plan_to_read_with_fill_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "purchaseplanwithfilllink", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L63", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_is_empty_inventory_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L76", "weight": 1.0}, {"source": "db_mappers_is_empty_inventory_date", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L76", "weight": 1.0}, {"source": "db_mappers_is_empty_inventory_date", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L76", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_inventory_date_to_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L80", "weight": 1.0}, {"source": "db_mappers_inventory_date_to_api", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L80", "weight": 1.0}, {"source": "db_mappers_inventory_date_to_api", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_inventory_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "dbinboundoutbound", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "inboundoutboundread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L86", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_weighing_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135", "weight": 1.0}, {"source": "db_mappers_weighing_to_read", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135", "weight": 1.0}, {"source": "db_mappers_weighing_to_read", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135", "weight": 1.0}, {"source": "db_mappers_weighing_to_read", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L135", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_datetime_end_of_day", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L166", "weight": 1.0}, {"source": "db_mappers_datetime_end_of_day", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L166", "weight": 1.0}, {"source": "db_mappers_datetime_end_of_day", "target": "datetime", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L166", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_parse_date_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L170", "weight": 1.0}, {"source": "db_mappers_parse_date_str", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L170", "weight": 1.0}, {"source": "db_mappers_parse_date_str", "target": "date", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L170", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_parse_datetime_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L179", "weight": 1.0}, {"source": "db_mappers_parse_datetime_str", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L179", "weight": 1.0}, {"source": "db_mappers_parse_datetime_str", "target": "datetime", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L179", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "purchaseplanread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "db_mappers_fmt_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L38", "weight": 1.0}, {"source": "db_mappers_plan_to_read", "target": "db_mappers_fmt_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L50", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "db_mappers_plan_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L69", "weight": 1.0}, {"source": "db_mappers_plan_to_read_with_fill_link", "target": "purchaseplanwithfilllink", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L70", "weight": 1.0}, {"source": "db_mappers_inventory_date_to_api", "target": "db_mappers_is_empty_inventory_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L81", "weight": 1.0}, {"source": "db_mappers_inventory_date_to_api", "target": "db_mappers_fmt_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L83", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "db_mappers_fmt_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L103", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "inboundoutboundread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L108", "weight": 1.0}, {"source": "db_mappers_inventory_to_read", "target": "db_mappers_inventory_date_to_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L110", "weight": 1.0}, {"source": "db_mappers_weighing_to_read", "target": "weighingslipread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L136", "weight": 1.0}, {"source": "db_mappers_weighing_to_read", "target": "db_mappers_fmt_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L148", "weight": 1.0}, {"source": "db_mappers_parse_date_str", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L174", "weight": 1.0}, {"source": "db_mappers_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_mappers_fmt_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L20"}, {"caller_nid": "db_mappers_fmt_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L22"}, {"caller_nid": "db_mappers_fmt_datetime", "callee": "format_datetime", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L30"}, {"caller_nid": "db_mappers_plan_to_read", "callee": "format_datetime", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L59"}, {"caller_nid": "db_mappers_plan_to_read_with_fill_link", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L71"}, {"caller_nid": "db_mappers_inventory_to_read", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L105"}, {"caller_nid": "db_mappers_inventory_to_read", "callee": "format_datetime", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L124"}, {"caller_nid": "db_mappers_weighing_to_read", "callee": "format_datetime", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L161"}, {"caller_nid": "db_mappers_datetime_end_of_day", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L167"}, {"caller_nid": "db_mappers_datetime_end_of_day", "callee": "time", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L167"}, {"caller_nid": "db_mappers_parse_date_str", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L174"}, {"caller_nid": "db_mappers_parse_datetime_str", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L184"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/dc242c8e7e613123c1fa2fd124addedb36584bf3c9058bf1fc09acaa17bdfdf2.json b/backend/graphify-out/cache/ast/dc242c8e7e613123c1fa2fd124addedb36584bf3c9058bf1fc09acaa17bdfdf2.json new file mode 100644 index 000000000..28b778b60 --- /dev/null +++ b/backend/graphify-out/cache/ast/dc242c8e7e613123c1fa2fd124addedb36584bf3c9058bf1fc09acaa17bdfdf2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L1"}, {"id": "bx_reimburse_reimburseservice", "label": "ReimburseService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L39"}, {"id": "bx_reimburse_reimburseservice_tenant_no", "label": "._tenant_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41"}, {"id": "bx_reimburse_reimburseservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45"}, {"id": "bxreimburseapply", "label": "BxReimburseApply", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45"}, {"id": "bx_reimburse_reimburseservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49"}, {"id": "bx_reimburse_reimburseservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59"}, {"id": "bx_reimburse_reimburseservice_workflow_nodes", "label": "._workflow_nodes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66"}, {"id": "bxworkflownode", "label": "BxWorkflowNode", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66"}, {"id": "bx_reimburse_reimburseservice_pending_approval", "label": ".pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79"}, {"id": "bx_reimburse_reimburseservice_approved_by_me", "label": ".approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135"}, {"id": "bx_reimburse_reimburseservice_submit", "label": ".submit()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183"}, {"id": "bx_reimburse_reimburseservice_approve", "label": ".approve()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200"}, {"id": "bx_reimburse_reimburseservice_reject", "label": ".reject()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245"}, {"id": "bx_reimburse_reimburseservice_approval_record_dict", "label": "._approval_record_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282"}, {"id": "bxreimburseapproval", "label": "BxReimburseApproval", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282"}, {"id": "bx_reimburse_reimburseservice_latest_approval_per_node", "label": "._latest_approval_per_node()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L295"}, {"id": "bx_reimburse_reimburseservice_query_approvals", "label": "._query_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312"}, {"id": "bx_reimburse_reimburseservice_get_approvals", "label": ".get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324"}, {"id": "bx_reimburse_reimburseservice_get_approval_history", "label": ".get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358"}, {"id": "bx_reimburse_reimburseservice_create_with_details", "label": ".create_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375"}, {"id": "bx_reimburse_reimburseservice_update_with_details", "label": ".update_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439"}, {"id": "bx_reimburse_reimburseservice_get_details", "label": ".get_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518"}, {"id": "bxreimbursedetail", "label": "BxReimburseDetail", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518"}, {"id": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "label": ".out_rows_with_attachment_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531"}, {"id": "reimburseapplyout", "label": "ReimburseApplyOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531"}, {"id": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "label": ".out_one_with_attachment_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548"}, {"id": "bx_reimburse_reimburseservice_build_apply_out_with_details", "label": ".build_apply_out_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554"}, {"id": "bx_reimburse_reimburseservice_global_status_counts", "label": ".global_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563"}, {"id": "bx_reimburse_reimburseservice_my_apply_stats", "label": ".my_apply_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L573"}, {"id": "bx_reimburse_reimburseservice_pending_approval_stats", "label": ".pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L635"}, {"id": "bx_reimburse_reimburseservice_pay", "label": ".pay()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666"}, {"id": "bx_reimburse_reimburseservice_offset", "label": ".offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689"}, {"id": "bx_reimburse_reimburseservice_batch_offset", "label": ".batch_offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720"}, {"id": "bx_reimburse_reimburseservice_finance_payment_stats", "label": ".finance_payment_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L775"}, {"id": "bx_reimburse_rationale_298", "label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L298"}, {"id": "bx_reimburse_rationale_359", "label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L359"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy_exc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_schemas_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_approval_cycle", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_attachment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "bx_reimburse_reimburseservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L39", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L41", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L49", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "bxworkflownode", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L66", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pending_approval", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L79", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approved_by_me", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L135", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_submit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approve", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_reject", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "bxreimburseapproval", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_query_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L312", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_approval_history", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L358", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_create_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimburseapply", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_update_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L439", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "bxreimbursedetail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L518", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "reimburseapplyout", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L531", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "bxreimburseapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "reimburseapplyout", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L548", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_build_apply_out_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bxreimburseapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "reimburseapplyout", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L554", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_global_status_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L563", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_my_apply_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L573", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L573", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L573", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L573", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pending_approval_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L635", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L635", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L635", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L635", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pay", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L666", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_offset", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L689", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_batch_offset", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L720", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_finance_payment_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L775", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_finance_payment_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L775", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_finance_payment_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L775", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L60", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "bx_reimburse_reimburseservice_offset", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L125", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "bx_reimburse_reimburseservice_offset", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L184", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L185", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L193", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L203", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L204", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L207", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxreimburseapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L248", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L252", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxreimburseapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L260", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_query_approvals", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L334", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L336", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L341", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L360", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L372", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L382", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimburseapply", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L394", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimbursedetail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L423", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L447", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L448", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxreimbursedetail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L492", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L551", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L557", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bx_reimburse_reimburseservice_get_details", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L558", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L673", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L674", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L697", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L698", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L728", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L729", "weight": 1.0}, {"source": "bx_reimburse_rationale_298", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L298", "weight": 1.0}, {"source": "bx_reimburse_rationale_359", "target": "bx_reimburse_reimburseservice_get_approval_history", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L359", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_reimburse_reimburseservice_tenant_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"caller_nid": "bx_reimburse_reimburseservice_tenant_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"caller_nid": "bx_reimburse_reimburseservice_workflow_nodes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L68"}, {"caller_nid": "bx_reimburse_reimburseservice_workflow_nodes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L68"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L90"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L90"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L109"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L110"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L111"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "parse_create_time_day_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L116"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L122"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L123"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L123"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L123"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L123"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L125"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L125"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L125"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L125"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L127"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L156"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L156"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L162"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L163"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L164"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "parse_create_time_day_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L169"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L175"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L175"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L175"}, {"caller_nid": "bx_reimburse_reimburseservice_submit", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L190"}, {"caller_nid": "bx_reimburse_reimburseservice_submit", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L196"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L221"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L229"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L234"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L241"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L261"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L269"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L274"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L278"}, {"caller_nid": "bx_reimburse_reimburseservice_latest_approval_per_node", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L301"}, {"caller_nid": "bx_reimburse_reimburseservice_query_approvals", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L314"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "filter_current_cycle_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L335"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L339"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L341"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L343"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L363"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L363"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L369"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L369"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L384"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "parse_reimburse_date", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L385"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L385"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L386"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "resolve_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L391"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L395"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L400"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L401"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L409"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L411"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L414"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L420"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L424"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L429"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L434"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L435"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "parse_reimburse_date", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L455"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L455"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L458"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L460"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L467"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "is_auto_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L469"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "allocate_reimburse_title_seq", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L471"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "format_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L475"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "is_auto_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L478"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L482"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L482"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L488"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L493"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L498"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L503"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L504"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L514"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L520"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L520"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "count_invoice_attach_by_biz_ids", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L537"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L542"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L543"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L544"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L544"}, {"caller_nid": "bx_reimburse_reimburseservice_build_apply_out_with_details", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L565"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L565"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L565"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L574"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L577"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L582"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L582"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L582"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L582"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L584"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L584"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L584"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L584"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L591"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L591"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L591"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L591"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L593"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L605"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L605"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L605"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L606"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L610"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L612"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L612"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L612"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L618"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L618"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L618"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L618"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L636"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L637"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L637"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L654"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L654"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L654"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L654"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L657"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L657"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L657"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L657"}, {"caller_nid": "bx_reimburse_reimburseservice_pay", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L680"}, {"caller_nid": "bx_reimburse_reimburseservice_pay", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L685"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "BxReimburseOffset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L705"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L706"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L715"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L716"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "BxReimburseOffset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L743"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L744"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L753"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L761"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L771"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L776"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L778"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L778"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L778"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L778"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L784"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L786"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L786"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L786"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L786"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L790"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L792"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L793"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L797"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L797"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L797"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L797"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L799"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L801"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L801"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L801"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L807"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L807"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L807"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f59c0270249b5cfe29eed48ca1171207cb87fabaf31a67f26dc5091916ad0483.json b/backend/graphify-out/cache/ast/f59c0270249b5cfe29eed48ca1171207cb87fabaf31a67f26dc5091916ad0483.json new file mode 100644 index 000000000..ae28fcd52 --- /dev/null +++ b/backend/graphify-out/cache/ast/f59c0270249b5cfe29eed48ca1171207cb87fabaf31a67f26dc5091916ad0483.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L1"}, {"id": "bx_reimburse_tenant", "label": "_tenant()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "bx_reimburse_build_details_data", "label": "_build_details_data()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33"}, {"id": "bx_reimburse_get_generated_title", "label": "get_generated_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54"}, {"id": "bx_reimburse_list_reimburses", "label": "list_reimburses()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67"}, {"id": "bx_reimburse_my_reimburses", "label": "my_reimburses()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104"}, {"id": "bx_reimburse_my_reimburse_stats", "label": "my_reimburse_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L140"}, {"id": "bx_reimburse_reimburse_status_counts", "label": "reimburse_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L150"}, {"id": "bx_reimburse_pending_approval", "label": "pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159"}, {"id": "bx_reimburse_pending_approval_stats", "label": "pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L185"}, {"id": "bx_reimburse_approved_by_me", "label": "approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195"}, {"id": "bx_reimburse_get_reimburse", "label": "get_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L221"}, {"id": "bx_reimburse_get_approvals", "label": "get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L235"}, {"id": "bx_reimburse_get_approval_history", "label": "get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L248"}, {"id": "bx_reimburse_create_reimburse", "label": "create_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261"}, {"id": "reimburseapplycreate", "label": "ReimburseApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261"}, {"id": "bx_reimburse_update_reimburse", "label": "update_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295"}, {"id": "reimburseapplyupdate", "label": "ReimburseApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295"}, {"id": "bx_reimburse_submit_reimburse", "label": "submit_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L324"}, {"id": "bx_reimburse_approve_reimburse", "label": "approve_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339"}, {"id": "reimburseapprovalcreate", "label": "ReimburseApprovalCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339"}, {"id": "bx_reimburse_reject_reimburse", "label": "reject_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355"}, {"id": "bx_reimburse_delete_reimburse", "label": "delete_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L371"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_schemas_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_services_bx_expense_item", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_services_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_build_details_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_reimburse_build_details_data", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_reimburse_build_details_data", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_generated_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_list_reimburses", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_my_reimburses", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L104", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_my_reimburse_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L140", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L140", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L140", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_reimburse_status_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L150", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L150", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L150", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_pending_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_pending_approval_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L185", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L185", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L185", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_approved_by_me", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L195", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L221", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L221", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L221", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L221", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_approvals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L235", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L235", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L235", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L235", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_approval_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L248", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L248", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L248", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L248", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_create_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "reimburseapplycreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_update_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "reimburseapplyupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L295", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_submit_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L324", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_approve_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "reimburseapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L339", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_reject_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "reimburseapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L355", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_delete_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L371", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L371", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L371", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L371", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L60", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L78", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L144", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L154", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L168", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L189", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L204", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L226", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L240", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L266", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bx_reimburse_build_details_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L267", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L301", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bx_reimburse_build_details_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L304", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L329", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L345", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L376", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_reimburse_tenant", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L30"}, {"caller_nid": "bx_reimburse_tenant", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L30"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L36"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L38"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L42"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L61"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "generate_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L62"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L63"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L81"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L83"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L84"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L85"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L86"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L90"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L90"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L92"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L92"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "parse_create_time_day_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L93"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L96"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L97"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L98"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L99"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L100"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L100"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L115"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L121"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L123"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L124"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L125"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L126"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "parse_create_time_day_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L129"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L132"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L133"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L134"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L135"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L136"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L136"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "my_apply_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L145"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_reimburse_status_counts", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L155"}, {"caller_nid": "bx_reimburse_reimburse_status_counts", "callee": "global_status_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L155"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L169"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L180"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L181"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L181"}, {"caller_nid": "bx_reimburse_pending_approval_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L191"}, {"caller_nid": "bx_reimburse_pending_approval_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L191"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L205"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L216"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L217"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L217"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L227"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L229"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L230"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L231"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L241"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L242"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L244"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L244"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L254"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L255"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L257"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L257"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L269"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L277"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L277"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "create_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L287"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L288"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L289"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L290"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "update_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L312"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L316"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L317"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L318"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L319"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L320"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "submit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L330"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L332"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L333"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L334"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L335"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L335"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "approve", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L346"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L348"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L349"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L350"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L351"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L351"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "reject", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L362"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L364"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L365"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L366"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L367"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L367"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L377"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L378"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L379"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L380"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L381"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/feb29860cfcc7b0b3ccb10c1f21b76c673cd716a63c3a2592b919908b388212a.json b/backend/graphify-out/cache/ast/feb29860cfcc7b0b3ccb10c1f21b76c673cd716a63c3a2592b919908b388212a.json new file mode 100644 index 000000000..7daecc09c --- /dev/null +++ b/backend/graphify-out/cache/ast/feb29860cfcc7b0b3ccb10c1f21b76c673cd716a63c3a2592b919908b388212a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43"}, {"id": "db_inventory_generate_batch_no", "label": "_generate_batch_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L50"}, {"id": "db_inventory_resolve_tenant_no", "label": "_resolve_tenant_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70"}, {"id": "db_inventory_get_inventory_by_id", "label": "_get_inventory_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88"}, {"id": "db_inventory_get_inventory", "label": "_get_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102"}, {"id": "db_inventory_apply_inventory_product_update", "label": "_apply_inventory_product_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116"}, {"id": "db_inventory_apply_inventory_update", "label": "_apply_inventory_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L132"}, {"id": "db_inventory_maybe_promote_third_party_status", "label": "_maybe_promote_third_party_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L150"}, {"id": "db_inventory_list_inventory", "label": "list_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161"}, {"id": "db_inventory_create_inventory", "label": "create_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265"}, {"id": "db_inventory_create_link_for_plan", "label": "create_link_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312"}, {"id": "db_inventory_update_inventory", "label": "update_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382"}, {"id": "db_inventory_delete_inventory", "label": "delete_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L400"}, {"id": "db_inventory_inventoryrelateddata", "label": "InventoryRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L412"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_get_inventory_related", "label": "get_inventory_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L418"}, {"id": "db_inventory_rationale_366", "label": "\u5355\u6761\u67e5\u8be2\uff08\u4e09\u65b9 H5 \u586b\u5199\u9875\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L366"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_services_db_inventory_id", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_models_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_schemas_db_inventory", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_schemas_db_plans", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_schemas_db_weighing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_services_db_mappers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_services_db_product_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "db_inventory_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "db_inventory_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_generate_batch_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L50", "weight": 1.0}, {"source": "db_inventory_generate_batch_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L50", "weight": 1.0}, {"source": "db_inventory_generate_batch_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L50", "weight": 1.0}, {"source": "db_inventory_generate_batch_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L50", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_resolve_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "target": "dbusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L70", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_get_inventory_by_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88", "weight": 1.0}, {"source": "db_inventory_get_inventory_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88", "weight": 1.0}, {"source": "db_inventory_get_inventory_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88", "weight": 1.0}, {"source": "db_inventory_get_inventory_by_id", "target": "dbinboundoutbound", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L88", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_get_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "dbinboundoutbound", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_apply_inventory_product_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116", "weight": 1.0}, {"source": "db_inventory_apply_inventory_product_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116", "weight": 1.0}, {"source": "db_inventory_apply_inventory_product_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116", "weight": 1.0}, {"source": "db_inventory_apply_inventory_product_update", "target": "dbinboundoutbound", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_apply_inventory_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L132", "weight": 1.0}, {"source": "db_inventory_apply_inventory_update", "target": "dbinboundoutbound", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_maybe_promote_third_party_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L150", "weight": 1.0}, {"source": "db_inventory_maybe_promote_third_party_status", "target": "dbinboundoutbound", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L150", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_list_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "inboundoutboundread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_create_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "inboundoutboundcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "dbusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "inboundoutboundread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L265", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_create_link_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "createlinkforplanpayload", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "inboundoutboundread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L312", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_get_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L362", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L362", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L362", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "inboundoutboundread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L362", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_update_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "inboundoutboundupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "inboundoutboundread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L382", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_delete_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L400", "weight": 1.0}, {"source": "db_inventory_delete_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L400", "weight": 1.0}, {"source": "db_inventory_delete_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L400", "weight": 1.0}, {"source": "db_inventory_delete_inventory", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L400", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_inventoryrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L412", "weight": 1.0}, {"source": "db_inventory_inventoryrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L412", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_get_inventory_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L418", "weight": 1.0}, {"source": "db_inventory_get_inventory_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L418", "weight": 1.0}, {"source": "db_inventory_get_inventory_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L418", "weight": 1.0}, {"source": "db_inventory_get_inventory_related", "target": "db_inventory_inventoryrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L418", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "db_inventory_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L104", "weight": 1.0}, {"source": "db_inventory_list_inventory", "target": "db_inventory_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L178", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "db_inventory_resolve_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L270", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "db_inventory_generate_batch_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L274", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "dbinboundoutbound", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L284", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "dbinboundoutbound", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L336", "weight": 1.0}, {"source": "db_inventory_create_link_for_plan", "target": "db_inventory_generate_batch_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L347", "weight": 1.0}, {"source": "db_inventory_get_inventory", "target": "db_inventory_get_inventory_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L367", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_get_inventory_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L388", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_apply_inventory_product_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L391", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_apply_inventory_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L392", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_maybe_promote_third_party_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L393", "weight": 1.0}, {"source": "db_inventory_delete_inventory", "target": "db_inventory_get_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L406", "weight": 1.0}, {"source": "db_inventory_get_inventory_related", "target": "db_inventory_get_inventory_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L422", "weight": 1.0}, {"source": "db_inventory_get_inventory_related", "target": "db_inventory_inventoryrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L446", "weight": 1.0}, {"source": "db_inventory_rationale_366", "target": "db_inventory_get_inventory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L366", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_inventory_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L44"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L52"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L56"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "compile", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L61"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L64"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L66"}, {"caller_nid": "db_inventory_resolve_tenant_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L76"}, {"caller_nid": "db_inventory_resolve_tenant_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L76"}, {"caller_nid": "db_inventory_resolve_tenant_no", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L79"}, {"caller_nid": "db_inventory_resolve_tenant_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L79"}, {"caller_nid": "db_inventory_resolve_tenant_no", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L85"}, {"caller_nid": "db_inventory_get_inventory_by_id", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L90"}, {"caller_nid": "db_inventory_get_inventory_by_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L90"}, {"caller_nid": "db_inventory_get_inventory_by_id", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L95"}, {"caller_nid": "db_inventory_get_inventory", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L104"}, {"caller_nid": "db_inventory_get_inventory", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L109"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L120"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L124"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L125"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L126"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_apply_inventory_product_update", "callee": "apply_product_snapshot_to_inventory", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L129"}, {"caller_nid": "db_inventory_apply_inventory_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L133"}, {"caller_nid": "db_inventory_apply_inventory_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L136"}, {"caller_nid": "db_inventory_apply_inventory_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L140"}, {"caller_nid": "db_inventory_apply_inventory_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L143"}, {"caller_nid": "db_inventory_apply_inventory_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L146"}, {"caller_nid": "db_inventory_maybe_promote_third_party_status", "callee": "is_empty_inventory_date", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L153"}, {"caller_nid": "db_inventory_maybe_promote_third_party_status", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L155"}, {"caller_nid": "db_inventory_list_inventory", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L177"}, {"caller_nid": "db_inventory_list_inventory", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L177"}, {"caller_nid": "db_inventory_list_inventory", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L178"}, {"caller_nid": "db_inventory_list_inventory", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L179"}, {"caller_nid": "db_inventory_list_inventory", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L180"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L184"}, {"caller_nid": "db_inventory_list_inventory", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L186"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L187"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L187"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L188"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L188"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L189"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L189"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L190"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L190"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L191"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L191"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L196"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L199"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L203"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L203"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L203"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L207"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L207"}, {"caller_nid": "db_inventory_list_inventory", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L207"}, {"caller_nid": "db_inventory_list_inventory", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L210"}, {"caller_nid": "db_inventory_list_inventory", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L213"}, {"caller_nid": "db_inventory_list_inventory", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L218"}, {"caller_nid": "db_inventory_list_inventory", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L233"}, {"caller_nid": "db_inventory_list_inventory", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L233"}, {"caller_nid": "db_inventory_list_inventory", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L237"}, {"caller_nid": "db_inventory_list_inventory", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L240"}, {"caller_nid": "db_inventory_list_inventory", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L253"}, {"caller_nid": "db_inventory_list_inventory", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L254"}, {"caller_nid": "db_inventory_list_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L256"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L272"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L277"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L278"}, {"caller_nid": "db_inventory_create_inventory", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L282"}, {"caller_nid": "db_inventory_create_inventory", "callee": "next_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L285"}, {"caller_nid": "db_inventory_create_inventory", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L287"}, {"caller_nid": "db_inventory_create_inventory", "callee": "date", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L287"}, {"caller_nid": "db_inventory_create_inventory", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L287"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L288"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L291"}, {"caller_nid": "db_inventory_create_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L293"}, {"caller_nid": "db_inventory_create_inventory", "callee": "apply_product_snapshot_to_inventory", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L300"}, {"caller_nid": "db_inventory_create_inventory", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L301"}, {"caller_nid": "db_inventory_create_inventory", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L302"}, {"caller_nid": "db_inventory_create_inventory", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L303"}, {"caller_nid": "db_inventory_create_inventory", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L304"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L317"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L317"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L319"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L319"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L328"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L331"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "next_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L337"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L340"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L343"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L346"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L355"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L356"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L357"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L358"}, {"caller_nid": "db_inventory_get_inventory", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L369"}, {"caller_nid": "db_inventory_get_inventory", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L369"}, {"caller_nid": "db_inventory_get_inventory", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L369"}, {"caller_nid": "db_inventory_get_inventory", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L375"}, {"caller_nid": "db_inventory_get_inventory", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L378"}, {"caller_nid": "db_inventory_update_inventory", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L389"}, {"caller_nid": "db_inventory_update_inventory", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L394"}, {"caller_nid": "db_inventory_update_inventory", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L395"}, {"caller_nid": "db_inventory_update_inventory", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L396"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L405"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L405"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L409"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L427"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L427"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L436"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L436"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L436"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L447"}, {"caller_nid": "db_inventory_get_inventory_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L448"}]} \ 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 826946ce6..a66f76ff1 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":5362,"mtime_ns":1780108930820143914,"hash":"712114b9a96e370660a7d8455b0cb014b6387a352e25c114bb396bc9815d48e6"},"/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":5059,"mtime_ns":1781955941378306037,"hash":"609c239c76aeec075d5a61c73f4d82a9a4774f93def5426a5b321625fc94b8d1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":1953,"mtime_ns":1780805101147405418,"hash":"d2a416ff9daedad88780cbe3f14ea75e8299044f8787afb60e731f43963dc405"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":8744,"mtime_ns":1780201410112435240,"hash":"df84858ae3cea547e5ae0174a2ee76cd4df8835f4b75827843369e74ea91098b"},"/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":5875,"mtime_ns":1781955926156903754,"hash":"d949b2ac48e035ba568a1b3d02a1ded1964f909cd19909c552592cc4313026e9"},"/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":8978,"mtime_ns":1780108930724617124,"hash":"198e0861bb9933a7cee510524c4802001543468727a45e779bc4684d0214ffe2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1173,"mtime_ns":1780108930724965209,"hash":"8c45b5a56110164f2488c9c8db27db62fe77f0997cf22c53991c0bd1dde2043a"},"/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":13209,"mtime_ns":1780108930725541087,"hash":"c3138253eb34f65b09f4436e037fb3179d947f84d3b5fef007ed9a8e3bb135ee"},"/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":5949,"mtime_ns":1780108930724890709,"hash":"c92a7dbcfe3d7440bfafc83a76e9ed431e2b054ddd95bc4bfac52b241635ab17"},"/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":11243,"mtime_ns":1780108930724537332,"hash":"0c2045d182138ec8e333356d36d418004a53948e2eda494cd419a36365ebbfae"},"/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":35246,"mtime_ns":1780201410114502659,"hash":"19d210fd54135bc8e94afdbce8812043a2fb92d2889f4317d4afe3f9c8aa6936"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2142,"mtime_ns":1781955922143413789,"hash":"f7a5b28b653aaf013aa0bbd1cdb43b11b2d131bb0f01347f05dd6e833a70ae4a"},"/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":4980,"mtime_ns":1780114001618387697,"hash":"7f283f282ae58414179cc7763a4cc681930666c7efd4c2887fcd66e4b3896732"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":13310,"mtime_ns":1780201410112732115,"hash":"4ad218f8ad0c21201866688941352bcde93e705d9086abb7f41b87e2c5c51157"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5353,"mtime_ns":1780108930727360347,"hash":"98ffd889f8dca70bd22e5801ccc13d3d10c5d883ae06428ba3edde84a345c4fe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5475,"mtime_ns":1780108930731996832,"hash":"d742062cce9f72daa523e5fc5375b9c835c182916b3db5ee0ff30c121fce61b4"},"/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":9233,"mtime_ns":1780114000027300001,"hash":"4e34836d4496b0af1449ad1f3a79e96bb2d642d6df369c7d62310fd92f95982b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7416,"mtime_ns":1780113999264097679,"hash":"20bb62c7a3fcfca73462e643cd409d02b7d056620e4b53e44a5bf5a0c9edd402"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6341,"mtime_ns":1780113998462910381,"hash":"c272ba4dfc2080cff859f55a180f35b48d7d74bb09a2ef8606d5a4fb01e99bdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4349,"mtime_ns":1780108930725945840,"hash":"fb7f1e1413cee1b25ff401c150940bc769c4033140ef3249cd41bbe24a618488"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5054,"mtime_ns":1780112650117618702,"hash":"625ecf04ea9729969f643fba6a8c7cd789a8bfb67dbc76ce46f3e2b4122c8545"},"/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":24868,"mtime_ns":1780113998128399686,"hash":"41922492aec3a5030271abfc51444cb17e07cb4294deff92e23887a66dd78fae"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6420,"mtime_ns":1780113996907595730,"hash":"8ecc752ff4769e1a94f7dbd800bbf26ca6dc8118a627c7921dfd3419d1accee8"},"/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":4620,"mtime_ns":1780113996115415235,"hash":"bc63d2287b05db9405c7902d9f8cd7c25e1fddf64572d05f5a7703480af0a261"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":10496,"mtime_ns":1780242127112912030,"hash":"c3b4d65b73ce9764fa60fa7e14e862c4644c7a47fd92d4699693bfbc0950d913"},"/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":30938,"mtime_ns":1780211169108695182,"hash":"952658803753e0b8a210e61865daf1bd690cfb0ef8adc815e6d2a185099b8619"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":49123,"mtime_ns":1780736311908714839,"hash":"5a444ae748b236a475977d7f2224264d03548e1c867a67a83d3ed5be1a8fbab7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":19069,"mtime_ns":1780113993760417546,"hash":"d99ca63f875d76669fa648b5c1645755e91ce8e278da3848cd24f783d9c8fcb2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6941,"mtime_ns":1780108930722643529,"hash":"e90d2fd6b3f1417f7ed6a5481a4bb09e5ca147e92645ee72f2f47d19e9723828"},"/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":3432,"mtime_ns":1780201410114958118,"hash":"3d2409f428918cd8b2723fffc456290d0a83e379cbe166727efd0e790504e993"},"/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":64410,"mtime_ns":1781940044373707557,"hash":"1bbb3dbd12096cc1865d19081a6dda818b86d4ce5857e3a81ee4c85a64e344b4"},"/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":7720,"mtime_ns":1781940045372925894,"hash":"2a396202dbcf00e42ec89ce08603028d56ecf5ebb27b1d970f57cf1d167533b3"},"/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":24412,"mtime_ns":1781940060432457268,"hash":"8622674146e399f10e08e5fcc2ba18d92d5bbabda633790029f4a533b46eeeea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":134947,"mtime_ns":1780743830246653903,"hash":"aa2b96720dcf3182deb45e888ec96b737709fa04b9786d4e1fc984925c9829a6"},"/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":1780713560843469785,"hash":"4102b586c625782b58c0a70a0c94f1c203dff427dc1708316d23a3689d78fa9c"},"/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":8059,"mtime_ns":1780202270065620774,"hash":"a491d929e43bfe29a5207396039449a9c58788b7d10d5547a01fd49d1d47f8ba"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":6890,"mtime_ns":1780730768313192794,"hash":"aaa23bf3dbbf85ff162dde638384ba26357ba72710d14d24357c5e73ab39ae8e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":21791,"mtime_ns":1780713573612717052,"hash":"418a2eeba8f6c8f8d0e30ab4edbeb6af5c936e3012e279a1c60d3a22e232740f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":8718,"mtime_ns":1780742842033485622,"hash":"c364ede84e65795c465e44737c1a85d5f37a4c8351fdf82ed9cf2145159f802e"},"/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":5239,"mtime_ns":1780201410212581471,"hash":"9f3b08eaa53b094e6c1c2c7e16a383408ff9276baf1d55a2abba3076d74331f1"},"/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":5816,"mtime_ns":1780406390461433397,"hash":"1fd30d3af0fbb1cf9dcbdd5899d6a90d1e814ff67406246830f58d39bfb5540f"},"/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":1782002227127821720,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":40914,"mtime_ns":1780242127112316277,"hash":"c052a9663d4d1f28f5d04a2837a43a9d257bd1a4b3843b1f6f888113853dbcad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":88975,"mtime_ns":1782002227127776594,"hash":"3b566fb1e7607718a36af65a8db127de8462250ee773d928677dca998b6ce933"},"/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":855,"mtime_ns":1780201410216225893,"hash":"8148db2d3d06053a61170cd7490b042f26ad3eb20322688688d4fcb35a848ccf"},"/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":5032,"mtime_ns":1780201410212860471,"hash":"1b67d7003faa6c80318471de95bdcbeba7017f8d4b62f78ab657c67225e3be4c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2117,"mtime_ns":1780201410210099217,"hash":"d2a936ccd5bdae4ba8bfc7e1ed6f8375e2af3037817e71257ce26710b6abe237"},"/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":6501,"mtime_ns":1780215022193542578,"hash":"f7fb6fb070698c047e5ce43d331ca83db85cf054dc63cc328964881d20e35d37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":24565,"mtime_ns":1780215022193645078,"hash":"5ed4483243252782afb0e1d195015c332087169fed3a4c628aadfcf201e637f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":10556,"mtime_ns":1782002227127741386,"hash":"e00b5b5ffad38e3cfc30e3a49eb850e7e65d7e696a534901acce71a0ccd171b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":8559,"mtime_ns":1780242127112151734,"hash":"fa223fc4f89d1cd34d464df0d0ca217ea23f43c47227f219d92ab4d971ebe163"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":9152,"mtime_ns":1780242127021803192,"hash":"3582ab562ab1b84723d9b4d8f6e8fe8e5c208a8374ddad9073e3594c2fe946c4"},"/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":6127,"mtime_ns":1780242127113488782,"hash":"6d9e4f1a4c97bf9f020fcce9cfd66735bf2cce2becdc1b47fc366bbc40c30926"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":12910,"mtime_ns":1782002227127797970,"hash":"fc1e19960a9431bb92d2fa1a4eb252d297a0b68f6cc88bd793297e9f4c56a949"},"/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":46387,"mtime_ns":1780745858498556120,"hash":"9d90392069b624573be2086faf2f6893ff30fa9dc9cdad5fba19efde8f4bfde0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":9689,"mtime_ns":1780242127068587825,"hash":"6851b91549b1a09c8990f80543966ca4bb35453a080d7b1e8791c217c1583af2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":3926,"mtime_ns":1780242127112437528,"hash":"8ea76d948a3440b43aac6efb353aa10773a2b95765c416aa72135e74695d4f68"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8620,"mtime_ns":1780736832004071102,"hash":"17ba1437b70857f9826087f24ac1305a74f366b6d0358ccc78948860f55dc35b"},"/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":23911,"mtime_ns":1780736833576480031,"hash":"9fa1fb08d3b1f1fd3006f19063083beb3eae0d5a447f8dbc37575db1c0df7166"},"/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":27213,"mtime_ns":1780763324103673521,"hash":"012206a175e5519cd321c95852ef5957b436a4be74481bd637088ffd27cace21"},"/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":23996,"mtime_ns":1780763324103709396,"hash":"154356115004a1b5674659219e40714eadf59a3581888ce9895fe792c8d00a82"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1013,"mtime_ns":1780750904057179495,"hash":"b30a46c6fab214ca58787ff4e42a9ab2fdf933f1c4b6ee224d1799d9dd8918a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1136,"mtime_ns":1780750556882334857,"hash":"38eb2cb16c0b187b946287ad8d6e0a2b5d008798cf3e99914ce29a6a3b3ab2ce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":947,"mtime_ns":1780750556881768980,"hash":"2bbe961ad71f0be530f10d515b69615dbf887257028e339d4252b9ff2a5aba2b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4309,"mtime_ns":1782003134921705741,"hash":"828ecf5fc0fb3cc90caf7a9d18bb49fbd84ce1c04abf7c4c8ad79b5a1f17be46"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16644,"mtime_ns":1782003101273948156,"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":1782003128950778144,"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":1632,"mtime_ns":1780750595661330050,"hash":"718cda4882de824f750f0d99bcc12c3240f29acb7979f1a6e04d903feb1f434c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1641,"mtime_ns":1780750597002327548,"hash":"c38fd9400bf1c8d181b084347f47bb02e67a6d2ce14a0556284372e4bf044560"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3329,"mtime_ns":1780750631640905361,"hash":"eb032c84478721c937c421e8cf457716875a593a75c15caa07adec83c80f8b3b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4940,"mtime_ns":1780756089730425856,"hash":"dc0691cec4589587fdbacf2dbc9334e3a99face5e924b7ead29b3531d7752c5d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":3977,"mtime_ns":1780750601219153355,"hash":"ac31c58cf246f27a3f875920f583dd42af66a09f09dc879a215ce05a056d450f"},"/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":5133,"mtime_ns":1780756089144403380,"hash":"10ac1660a2a6d6daa4c313f57667df78b082c742e49780cec4270b1333b3cb1f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":2754,"mtime_ns":1780750593829062278,"hash":"a69603083acd513274bec92f033d2d496f175b17de6aec59d8d2b6f63391abac"},"/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":4522,"mtime_ns":1780757815269786891,"hash":"680cf05a952f4069441e8fe432c96d2feb6cb9e8cddd24ca1109d5f89f5fb06c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5707,"mtime_ns":1780750903379992073,"hash":"59572b469529962b623accad7a5e21f5a5299a69285977acfa93af8c12ec7703"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":12830,"mtime_ns":1780758906507042443,"hash":"0448e5ccd69b876402d03bb69647207497aef22b24f8686784bea2266c636607"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":3966,"mtime_ns":1780750887666369032,"hash":"011868ea9a25a17816882b6bc0dc097eeca74adaf8c1a00943397a2a1bbdb389"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":22304,"mtime_ns":1780759900435474399,"hash":"6705c068242c66ac0ad917e925935ee615e87ecccddcc948c4a4bfc87e90eb28"},"/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":5525,"mtime_ns":1782003134907623443,"hash":"1d95b34c3387836b31822436916e94ef3ce4a23d235316e3afef70ce515f4d73"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":14030,"mtime_ns":1782003122050588591,"hash":"dccb96826c535efd9531f210e8eb8411f766b6caffaadf3363520d43aee16ca8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":29603,"mtime_ns":1782003118039177258,"hash":"820ada4853d96cff6a56bd1a78a565c2b2fb6f550659ed7230aa4ddeeba00268"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15276,"mtime_ns":1780751365941052105,"hash":"4dcc1c902bd56c5ad6cc5144093afcf2e3776c1d4a0cd416d4186b9c35c49dae"},"/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":8703,"mtime_ns":1780935298135363918,"hash":"b2ea766a3b484751eb338f58daea244adb846dd4822299f787fcbec8e48abe19"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":596,"mtime_ns":1780804995132924586,"hash":"9dcfba4e404c5e5c2650c363d5860aecb61f3f6d7040d65998bff31080d61863"},"/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":3676,"mtime_ns":1780935335555306916,"hash":"13f0384ebe9d7faa752ad206924f5a57a10be7c946d407c06683edccd7cccdd1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16206,"mtime_ns":1780935609936430225,"hash":"888a2f483f77f732b36bade88680932f90eb894b71514f42f465a7951399377f"},"/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":14504,"mtime_ns":1780935403621073537,"hash":"71f9633b03a70516d85354c0f182c910f28a0eabf2ff290c38a0acf0a299cd82"},"/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":2175,"mtime_ns":1780804837828862658,"hash":"177a7b3590d25b715efbd0729fc08718f83bd35b7eac030d878d3a249b7518f7"},"/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":16459,"mtime_ns":1780935357812523686,"hash":"018be67e8ad9e093b9d9d6bbad62ca7c5d331294fa250a9fc4bc7988a572911b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6537,"mtime_ns":1780935322520203272,"hash":"d5d864a6099b9fa6bae46d0bd564933100a910b43595c11aa9c43d78fc8994d6"},"/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":5840,"mtime_ns":1780804994646919997,"hash":"4d52da98d0d7c8e1c828b60f65464e2045f05ef981fc9ce9ac8eca0c6db46c92"},"/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":21466,"mtime_ns":1780808021903060285,"hash":"f861c2880f880eb6b7107280ce7e0a3b90cc8f7fee97e2410920483ba43af616"},"/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":40677,"mtime_ns":1781959945481618794,"hash":"897df40ba3fa9082db682948c4d08655d656993059957ab8792b7f63ccca6b5e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":17181,"mtime_ns":1781959945472561612,"hash":"ff7783e13f3dae212f10204db888a836920ceb0de79d9eadc9646def879cd664"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":12754,"mtime_ns":1781962477422079560,"hash":"967eff49d7a7065e1727f59b4f24e695e8ac021694691fc9ea7db5ac9b09a4e2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":3981,"mtime_ns":1781916693850739362,"hash":"d482de301a2a895a9d7a98d2a7f2d87cd9889e33675531bf34b0fcfb3aeb2673"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":4779,"mtime_ns":1781838563015057192,"hash":"07f36e54e043ffc50c511f2f3b7b7f789e7a448c6bca061b19c498851889a115"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7582,"mtime_ns":1781880505308870220,"hash":"c88a917677bcb18c0d2c906d6953a49090d09736c1989ed4c68cab8566183135"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":31350,"mtime_ns":1781959510291878107,"hash":"31457e2ff507ac7a13c3df09a6496aa8428f6b5f9476235412f7b3ad2fb8d614"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":25385,"mtime_ns":1781958790745960502,"hash":"a8734015dfce90289a7474f6a9e1462ef981ac26d9d9a55789b56ded91c4f277"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":561,"mtime_ns":1781124088860666872,"hash":"b6ebf35ce73d7f82e5b27b28f7faadfd7d55147834d548ab13d4ac2d1c56479b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10604,"mtime_ns":1781838521563280466,"hash":"262f91b72eaa2e64144bd543742281195194fab29a08246829e6b1a68ce52c50"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":23102,"mtime_ns":1781912590631306490,"hash":"f757ba2146a9987184da032114841feff2b4e3232c5dd6a1d6a5d7635988d28a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":11622,"mtime_ns":1781880510427642528,"hash":"e3ef38585158eb49b7ffcac9cbe2e1d4046a0d6c38746050865756de13f85269"},"/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":13003,"mtime_ns":1781880398231767901,"hash":"b8ab972594722107edceb08efbe943d9a60fd77bcd4bfbce5a499d9a8086bf95"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6362,"mtime_ns":1781880523198345970,"hash":"189cd50c299ef5bcd983c813612c997cce4b65e5fe95fbb5dec079902bd1e79e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":6329,"mtime_ns":1781912589069307318,"hash":"4801e99465eccdca2e3ad8fbe6d79b0fb5c094830ee959e62467316a3a823e73"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":21866,"mtime_ns":1781959945683596329,"hash":"d24f23a85b29f305809098a2c08e2a82a2cd667abacc3f57d83c192f5e1bc380"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":7667,"mtime_ns":1781962479550398929,"hash":"28913351a0a225b3d94d9ce56fda35b9e255cf37fad78a98ea5bdf1b2244296c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":12536,"mtime_ns":1781957097735186399,"hash":"737c51c0f87a67b6a5b07374da0c6b55b02fd68a798f0538ad9cb6c448e3c4e7"}} \ No newline at end of file +{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":5362,"mtime_ns":1780108930820143914,"hash":"712114b9a96e370660a7d8455b0cb014b6387a352e25c114bb396bc9815d48e6"},"/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":5059,"mtime_ns":1781955941378306037,"hash":"609c239c76aeec075d5a61c73f4d82a9a4774f93def5426a5b321625fc94b8d1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":1953,"mtime_ns":1780805101147405418,"hash":"d2a416ff9daedad88780cbe3f14ea75e8299044f8787afb60e731f43963dc405"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":8744,"mtime_ns":1780201410112435240,"hash":"df84858ae3cea547e5ae0174a2ee76cd4df8835f4b75827843369e74ea91098b"},"/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":5875,"mtime_ns":1781955926156903754,"hash":"d949b2ac48e035ba568a1b3d02a1ded1964f909cd19909c552592cc4313026e9"},"/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":8978,"mtime_ns":1780108930724617124,"hash":"198e0861bb9933a7cee510524c4802001543468727a45e779bc4684d0214ffe2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1173,"mtime_ns":1780108930724965209,"hash":"8c45b5a56110164f2488c9c8db27db62fe77f0997cf22c53991c0bd1dde2043a"},"/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":13209,"mtime_ns":1780108930725541087,"hash":"c3138253eb34f65b09f4436e037fb3179d947f84d3b5fef007ed9a8e3bb135ee"},"/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":5949,"mtime_ns":1780108930724890709,"hash":"c92a7dbcfe3d7440bfafc83a76e9ed431e2b054ddd95bc4bfac52b241635ab17"},"/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":11243,"mtime_ns":1780108930724537332,"hash":"0c2045d182138ec8e333356d36d418004a53948e2eda494cd419a36365ebbfae"},"/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":35246,"mtime_ns":1780201410114502659,"hash":"19d210fd54135bc8e94afdbce8812043a2fb92d2889f4317d4afe3f9c8aa6936"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2142,"mtime_ns":1781955922143413789,"hash":"f7a5b28b653aaf013aa0bbd1cdb43b11b2d131bb0f01347f05dd6e833a70ae4a"},"/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":4980,"mtime_ns":1780114001618387697,"hash":"7f283f282ae58414179cc7763a4cc681930666c7efd4c2887fcd66e4b3896732"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":13310,"mtime_ns":1780201410112732115,"hash":"4ad218f8ad0c21201866688941352bcde93e705d9086abb7f41b87e2c5c51157"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5353,"mtime_ns":1780108930727360347,"hash":"98ffd889f8dca70bd22e5801ccc13d3d10c5d883ae06428ba3edde84a345c4fe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5475,"mtime_ns":1780108930731996832,"hash":"d742062cce9f72daa523e5fc5375b9c835c182916b3db5ee0ff30c121fce61b4"},"/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":9233,"mtime_ns":1780114000027300001,"hash":"4e34836d4496b0af1449ad1f3a79e96bb2d642d6df369c7d62310fd92f95982b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7416,"mtime_ns":1780113999264097679,"hash":"20bb62c7a3fcfca73462e643cd409d02b7d056620e4b53e44a5bf5a0c9edd402"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6341,"mtime_ns":1780113998462910381,"hash":"c272ba4dfc2080cff859f55a180f35b48d7d74bb09a2ef8606d5a4fb01e99bdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4349,"mtime_ns":1780108930725945840,"hash":"fb7f1e1413cee1b25ff401c150940bc769c4033140ef3249cd41bbe24a618488"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5054,"mtime_ns":1780112650117618702,"hash":"625ecf04ea9729969f643fba6a8c7cd789a8bfb67dbc76ce46f3e2b4122c8545"},"/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":24868,"mtime_ns":1780113998128399686,"hash":"41922492aec3a5030271abfc51444cb17e07cb4294deff92e23887a66dd78fae"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6420,"mtime_ns":1780113996907595730,"hash":"8ecc752ff4769e1a94f7dbd800bbf26ca6dc8118a627c7921dfd3419d1accee8"},"/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":4620,"mtime_ns":1780113996115415235,"hash":"bc63d2287b05db9405c7902d9f8cd7c25e1fddf64572d05f5a7703480af0a261"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":10496,"mtime_ns":1780242127112912030,"hash":"c3b4d65b73ce9764fa60fa7e14e862c4644c7a47fd92d4699693bfbc0950d913"},"/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":30938,"mtime_ns":1780211169108695182,"hash":"952658803753e0b8a210e61865daf1bd690cfb0ef8adc815e6d2a185099b8619"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":49123,"mtime_ns":1780736311908714839,"hash":"5a444ae748b236a475977d7f2224264d03548e1c867a67a83d3ed5be1a8fbab7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":19069,"mtime_ns":1780113993760417546,"hash":"d99ca63f875d76669fa648b5c1645755e91ce8e278da3848cd24f783d9c8fcb2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6941,"mtime_ns":1780108930722643529,"hash":"e90d2fd6b3f1417f7ed6a5481a4bb09e5ca147e92645ee72f2f47d19e9723828"},"/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":3432,"mtime_ns":1780201410114958118,"hash":"3d2409f428918cd8b2723fffc456290d0a83e379cbe166727efd0e790504e993"},"/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":64410,"mtime_ns":1781940044373707557,"hash":"1bbb3dbd12096cc1865d19081a6dda818b86d4ce5857e3a81ee4c85a64e344b4"},"/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":7720,"mtime_ns":1781940045372925894,"hash":"2a396202dbcf00e42ec89ce08603028d56ecf5ebb27b1d970f57cf1d167533b3"},"/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":24412,"mtime_ns":1781940060432457268,"hash":"8622674146e399f10e08e5fcc2ba18d92d5bbabda633790029f4a533b46eeeea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":134947,"mtime_ns":1780743830246653903,"hash":"aa2b96720dcf3182deb45e888ec96b737709fa04b9786d4e1fc984925c9829a6"},"/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":1780713560843469785,"hash":"4102b586c625782b58c0a70a0c94f1c203dff427dc1708316d23a3689d78fa9c"},"/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":8059,"mtime_ns":1780202270065620774,"hash":"a491d929e43bfe29a5207396039449a9c58788b7d10d5547a01fd49d1d47f8ba"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":6890,"mtime_ns":1780730768313192794,"hash":"aaa23bf3dbbf85ff162dde638384ba26357ba72710d14d24357c5e73ab39ae8e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":21791,"mtime_ns":1780713573612717052,"hash":"418a2eeba8f6c8f8d0e30ab4edbeb6af5c936e3012e279a1c60d3a22e232740f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":8718,"mtime_ns":1780742842033485622,"hash":"c364ede84e65795c465e44737c1a85d5f37a4c8351fdf82ed9cf2145159f802e"},"/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":5239,"mtime_ns":1780201410212581471,"hash":"9f3b08eaa53b094e6c1c2c7e16a383408ff9276baf1d55a2abba3076d74331f1"},"/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":5816,"mtime_ns":1780406390461433397,"hash":"1fd30d3af0fbb1cf9dcbdd5899d6a90d1e814ff67406246830f58d39bfb5540f"},"/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":1782010658629586224,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":40914,"mtime_ns":1780242127112316277,"hash":"c052a9663d4d1f28f5d04a2837a43a9d257bd1a4b3843b1f6f888113853dbcad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":88975,"mtime_ns":1782010658629600557,"hash":"3b566fb1e7607718a36af65a8db127de8462250ee773d928677dca998b6ce933"},"/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":855,"mtime_ns":1780201410216225893,"hash":"8148db2d3d06053a61170cd7490b042f26ad3eb20322688688d4fcb35a848ccf"},"/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":5032,"mtime_ns":1780201410212860471,"hash":"1b67d7003faa6c80318471de95bdcbeba7017f8d4b62f78ab657c67225e3be4c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2117,"mtime_ns":1780201410210099217,"hash":"d2a936ccd5bdae4ba8bfc7e1ed6f8375e2af3037817e71257ce26710b6abe237"},"/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":6501,"mtime_ns":1780215022193542578,"hash":"f7fb6fb070698c047e5ce43d331ca83db85cf054dc63cc328964881d20e35d37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":24565,"mtime_ns":1780215022193645078,"hash":"5ed4483243252782afb0e1d195015c332087169fed3a4c628aadfcf201e637f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":10556,"mtime_ns":1782010658629611307,"hash":"e00b5b5ffad38e3cfc30e3a49eb850e7e65d7e696a534901acce71a0ccd171b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":8559,"mtime_ns":1780242127112151734,"hash":"fa223fc4f89d1cd34d464df0d0ca217ea23f43c47227f219d92ab4d971ebe163"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":9152,"mtime_ns":1780242127021803192,"hash":"3582ab562ab1b84723d9b4d8f6e8fe8e5c208a8374ddad9073e3594c2fe946c4"},"/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":6127,"mtime_ns":1780242127113488782,"hash":"6d9e4f1a4c97bf9f020fcce9cfd66735bf2cce2becdc1b47fc366bbc40c30926"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":12910,"mtime_ns":1782010658629617099,"hash":"fc1e19960a9431bb92d2fa1a4eb252d297a0b68f6cc88bd793297e9f4c56a949"},"/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":46387,"mtime_ns":1780745858498556120,"hash":"9d90392069b624573be2086faf2f6893ff30fa9dc9cdad5fba19efde8f4bfde0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":9689,"mtime_ns":1780242127068587825,"hash":"6851b91549b1a09c8990f80543966ca4bb35453a080d7b1e8791c217c1583af2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":3926,"mtime_ns":1780242127112437528,"hash":"8ea76d948a3440b43aac6efb353aa10773a2b95765c416aa72135e74695d4f68"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8620,"mtime_ns":1780736832004071102,"hash":"17ba1437b70857f9826087f24ac1305a74f366b6d0358ccc78948860f55dc35b"},"/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":23911,"mtime_ns":1780736833576480031,"hash":"9fa1fb08d3b1f1fd3006f19063083beb3eae0d5a447f8dbc37575db1c0df7166"},"/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":27213,"mtime_ns":1780763324103673521,"hash":"012206a175e5519cd321c95852ef5957b436a4be74481bd637088ffd27cace21"},"/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":23996,"mtime_ns":1780763324103709396,"hash":"154356115004a1b5674659219e40714eadf59a3581888ce9895fe792c8d00a82"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1013,"mtime_ns":1780750904057179495,"hash":"b30a46c6fab214ca58787ff4e42a9ab2fdf933f1c4b6ee224d1799d9dd8918a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1136,"mtime_ns":1780750556882334857,"hash":"38eb2cb16c0b187b946287ad8d6e0a2b5d008798cf3e99914ce29a6a3b3ab2ce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":947,"mtime_ns":1780750556881768980,"hash":"2bbe961ad71f0be530f10d515b69615dbf887257028e339d4252b9ff2a5aba2b"},"/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":1632,"mtime_ns":1780750595661330050,"hash":"718cda4882de824f750f0d99bcc12c3240f29acb7979f1a6e04d903feb1f434c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1641,"mtime_ns":1780750597002327548,"hash":"c38fd9400bf1c8d181b084347f47bb02e67a6d2ce14a0556284372e4bf044560"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3329,"mtime_ns":1780750631640905361,"hash":"eb032c84478721c937c421e8cf457716875a593a75c15caa07adec83c80f8b3b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4940,"mtime_ns":1780756089730425856,"hash":"dc0691cec4589587fdbacf2dbc9334e3a99face5e924b7ead29b3531d7752c5d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":3977,"mtime_ns":1780750601219153355,"hash":"ac31c58cf246f27a3f875920f583dd42af66a09f09dc879a215ce05a056d450f"},"/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":5133,"mtime_ns":1780756089144403380,"hash":"10ac1660a2a6d6daa4c313f57667df78b082c742e49780cec4270b1333b3cb1f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":2754,"mtime_ns":1780750593829062278,"hash":"a69603083acd513274bec92f033d2d496f175b17de6aec59d8d2b6f63391abac"},"/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":4522,"mtime_ns":1780757815269786891,"hash":"680cf05a952f4069441e8fe432c96d2feb6cb9e8cddd24ca1109d5f89f5fb06c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5707,"mtime_ns":1780750903379992073,"hash":"59572b469529962b623accad7a5e21f5a5299a69285977acfa93af8c12ec7703"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":12830,"mtime_ns":1780758906507042443,"hash":"0448e5ccd69b876402d03bb69647207497aef22b24f8686784bea2266c636607"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":3966,"mtime_ns":1780750887666369032,"hash":"011868ea9a25a17816882b6bc0dc097eeca74adaf8c1a00943397a2a1bbdb389"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":22304,"mtime_ns":1780759900435474399,"hash":"6705c068242c66ac0ad917e925935ee615e87ecccddcc948c4a4bfc87e90eb28"},"/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":5557,"mtime_ns":1782003398167657536,"hash":"1328a14fd4aa492cf2ccf5f1b7d6b935f532c40cb1d80ddba12ffb97cba67f88"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":14228,"mtime_ns":1782003398167648577,"hash":"f59c0270249b5cfe29eed48ca1171207cb87fabaf31a67f26dc5091916ad0483"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":30498,"mtime_ns":1782003415980570216,"hash":"dc242c8e7e613123c1fa2fd124addedb36584bf3c9058bf1fc09acaa17bdfdf2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15276,"mtime_ns":1780751365941052105,"hash":"4dcc1c902bd56c5ad6cc5144093afcf2e3776c1d4a0cd416d4186b9c35c49dae"},"/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":7711,"mtime_ns":1782011201966543075,"hash":"4e6f5c9dc5da476842c667e0ec87f66b3f2f55deaaa4bf35868d671efb0c4d8c"},"/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":3676,"mtime_ns":1780935335555306916,"hash":"13f0384ebe9d7faa752ad206924f5a57a10be7c946d407c06683edccd7cccdd1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":15119,"mtime_ns":1782011264036638010,"hash":"feb29860cfcc7b0b3ccb10c1f21b76c673cd716a63c3a2592b919908b388212a"},"/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":14504,"mtime_ns":1780935403621073537,"hash":"71f9633b03a70516d85354c0f182c910f28a0eabf2ff290c38a0acf0a299cd82"},"/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":2175,"mtime_ns":1780804837828862658,"hash":"177a7b3590d25b715efbd0729fc08718f83bd35b7eac030d878d3a249b7518f7"},"/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":16459,"mtime_ns":1780935357812523686,"hash":"018be67e8ad9e093b9d9d6bbad62ca7c5d331294fa250a9fc4bc7988a572911b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6310,"mtime_ns":1782011207323151394,"hash":"c52fce2a05504e9a24809615fe5e33a2582a38536623f5119691c5d2e994370c"},"/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":5840,"mtime_ns":1780804994646919997,"hash":"4d52da98d0d7c8e1c828b60f65464e2045f05ef981fc9ce9ac8eca0c6db46c92"},"/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":40677,"mtime_ns":1781959945481618794,"hash":"897df40ba3fa9082db682948c4d08655d656993059957ab8792b7f63ccca6b5e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":17181,"mtime_ns":1781959945472561612,"hash":"ff7783e13f3dae212f10204db888a836920ceb0de79d9eadc9646def879cd664"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":12754,"mtime_ns":1781962477422079560,"hash":"967eff49d7a7065e1727f59b4f24e695e8ac021694691fc9ea7db5ac9b09a4e2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":3981,"mtime_ns":1781916693850739362,"hash":"d482de301a2a895a9d7a98d2a7f2d87cd9889e33675531bf34b0fcfb3aeb2673"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":4779,"mtime_ns":1781838563015057192,"hash":"07f36e54e043ffc50c511f2f3b7b7f789e7a448c6bca061b19c498851889a115"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7582,"mtime_ns":1781880505308870220,"hash":"c88a917677bcb18c0d2c906d6953a49090d09736c1989ed4c68cab8566183135"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":31350,"mtime_ns":1781959510291878107,"hash":"31457e2ff507ac7a13c3df09a6496aa8428f6b5f9476235412f7b3ad2fb8d614"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":25385,"mtime_ns":1781958790745960502,"hash":"a8734015dfce90289a7474f6a9e1462ef981ac26d9d9a55789b56ded91c4f277"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":561,"mtime_ns":1781124088860666872,"hash":"b6ebf35ce73d7f82e5b27b28f7faadfd7d55147834d548ab13d4ac2d1c56479b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10604,"mtime_ns":1781838521563280466,"hash":"262f91b72eaa2e64144bd543742281195194fab29a08246829e6b1a68ce52c50"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":23102,"mtime_ns":1781912590631306490,"hash":"f757ba2146a9987184da032114841feff2b4e3232c5dd6a1d6a5d7635988d28a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":11622,"mtime_ns":1781880510427642528,"hash":"e3ef38585158eb49b7ffcac9cbe2e1d4046a0d6c38746050865756de13f85269"},"/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":13003,"mtime_ns":1781880398231767901,"hash":"b8ab972594722107edceb08efbe943d9a60fd77bcd4bfbce5a499d9a8086bf95"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6362,"mtime_ns":1781880523198345970,"hash":"189cd50c299ef5bcd983c813612c997cce4b65e5fe95fbb5dec079902bd1e79e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":6329,"mtime_ns":1781912589069307318,"hash":"4801e99465eccdca2e3ad8fbe6d79b0fb5c094830ee959e62467316a3a823e73"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":21866,"mtime_ns":1781959945683596329,"hash":"d24f23a85b29f305809098a2c08e2a82a2cd667abacc3f57d83c192f5e1bc380"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":7667,"mtime_ns":1781962479550398929,"hash":"28913351a0a225b3d94d9ce56fda35b9e255cf37fad78a98ea5bdf1b2244296c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":11833,"mtime_ns":1782011214989842724,"hash":"2c76c20e3567bb020e334a0efb189c1118decbfb3d4958f5a40631859bbdbcee"}} \ No newline at end of file diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index 5ecf18faa..7f3e4de08 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -63,12 +63,12 @@
-
3873 nodes · 29741 edges · 139 communities
+
3860 nodes · 29584 edges · 135 communities
diff --git a/web-admin/src/components/business/db/DbPlanRelatedViewDialog.vue b/web-admin/src/components/business/db/DbPlanRelatedViewDialog.vue index d2cca605b..ebe9be2ac 100644 --- a/web-admin/src/components/business/db/DbPlanRelatedViewDialog.vue +++ b/web-admin/src/components/business/db/DbPlanRelatedViewDialog.vue @@ -1,131 +1,25 @@ diff --git a/web-admin/src/components/business/db/DbVehicleSelect.vue b/web-admin/src/components/business/db/DbVehicleSelect.vue deleted file mode 100644 index 440051665..000000000 --- a/web-admin/src/components/business/db/DbVehicleSelect.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - diff --git a/web-admin/src/components/business/db/DualBarChart.vue b/web-admin/src/components/business/db/DualBarChart.vue index d628d50d8..5d48a030b 100644 --- a/web-admin/src/components/business/db/DualBarChart.vue +++ b/web-admin/src/components/business/db/DualBarChart.vue @@ -1,5 +1,5 @@ diff --git a/web-admin/src/components/business/db/db-related-view.ts b/web-admin/src/components/business/db/db-related-view.ts index 44b34decc..a5c3efa4a 100644 --- a/web-admin/src/components/business/db/db-related-view.ts +++ b/web-admin/src/components/business/db/db-related-view.ts @@ -30,6 +30,8 @@ function sectionTitle(base: string, index: number, total: number): string { export function buildPlanViewSection(plan: Plan): ViewSection { return { title: '计划', + fieldLayout: 'table', + tableMode: 'triple', fields: [ { label: '计划号', value: plan.planNo }, { label: '业务类型', value: plan.businessType, tagType: businessTypeTagType(plan.businessType) }, @@ -57,6 +59,8 @@ export function buildInventoryViewSection( ): ViewSection { return { title, + fieldLayout: 'table', + tableMode: 'triple', fields: [ { label: '出入库单号', value: record.batchNo }, { label: '日期', value: record.date }, @@ -120,7 +124,7 @@ export function buildWeighingViewSection( fields.push({ label: '备注', value: record.remarks, span: true }) } - return { title, fields } + return { title, fieldLayout: 'table', tableMode: 'triple', fields } } type MergedPlanRelatedItem = (PlanInventoryRecord | PlanWeighingRecord) & { @@ -160,7 +164,14 @@ function mergePlanRelatedItems(data: PlanRelatedData): MergedPlanRelatedItem[] { export function buildPlanRelatedSections(data: PlanRelatedData): ViewSection[] { const items = mergePlanRelatedItems(data) if (!items.length) { - return [{ title: '关联数据', fields: [{ label: '说明', value: '暂无关联数据', span: true }] }] + return [ + { + title: '关联数据', + fieldLayout: 'table', + tableMode: 'triple', + fields: [{ label: '说明', value: '暂无关联数据', span: 'full' }] + } + ] } const inventoryCount = items.filter((item) => item.type === 'inventory').length @@ -185,7 +196,14 @@ export function buildInventoryRelatedSections(data: InventoryRelatedData): ViewS if (data.plan) sections.push(buildPlanViewSection(data.plan)) if (data.weighing) sections.push(buildWeighingViewSection(data.weighing)) if (!sections.length) { - return [{ title: '关联数据', fields: [{ label: '说明', value: '暂无关联数据', span: true }] }] + return [ + { + title: '关联数据', + fieldLayout: 'table', + tableMode: 'triple', + fields: [{ label: '说明', value: '暂无关联数据', span: 'full' }] + } + ] } return sections } @@ -195,7 +213,14 @@ export function buildWeighingRelatedSections(data: WeighingRelatedData): ViewSec if (data.plan) sections.push(buildPlanViewSection(data.plan)) if (data.inventory) sections.push(buildInventoryViewSection(data.inventory)) if (!sections.length) { - return [{ title: '关联数据', fields: [{ label: '说明', value: '暂无关联数据', span: true }] }] + return [ + { + title: '关联数据', + fieldLayout: 'table', + tableMode: 'triple', + fields: [{ label: '说明', value: '暂无关联数据', span: 'full' }] + } + ] } return sections } diff --git a/web-admin/src/components/business/pl-plan-view-tabs/index.vue b/web-admin/src/components/business/pl-plan-view-tabs/index.vue index 6ab58269d..3f1776c8f 100644 --- a/web-admin/src/components/business/pl-plan-view-tabs/index.vue +++ b/web-admin/src/components/business/pl-plan-view-tabs/index.vue @@ -670,13 +670,13 @@ dt { margin: 0 0 4px; - font-size: 11px; + font-size: 13px; color: #64748b; } dd { margin: 0; - font-size: 13px; + font-size: 14px; font-weight: 600; color: #1e293b; word-break: break-word; diff --git a/web-admin/src/components/business/pl/PlVehicleSelect.vue b/web-admin/src/components/business/pl/PlVehicleSelect.vue new file mode 100644 index 000000000..a1fb6b821 --- /dev/null +++ b/web-admin/src/components/business/pl/PlVehicleSelect.vue @@ -0,0 +1,79 @@ + + + diff --git a/web-admin/src/components/business/system-view-dialog/ViewKvGrid.vue b/web-admin/src/components/business/system-view-dialog/ViewKvGrid.vue index fc54acb9b..a2c475666 100644 --- a/web-admin/src/components/business/system-view-dialog/ViewKvGrid.vue +++ b/web-admin/src/components/business/system-view-dialog/ViewKvGrid.vue @@ -63,12 +63,12 @@ flex-direction: column; gap: 4px; min-width: 0; - font-size: 13px; + font-size: 14px; align-items: stretch; dt { margin: 0; - font-size: 11px; + font-size: 13px; font-weight: 400; color: #000; line-height: 1.4; diff --git a/web-admin/src/components/business/system-view-dialog/ViewKvTable.vue b/web-admin/src/components/business/system-view-dialog/ViewKvTable.vue index a5540c09d..ad6888e5b 100644 --- a/web-admin/src/components/business/system-view-dialog/ViewKvTable.vue +++ b/web-admin/src/components/business/system-view-dialog/ViewKvTable.vue @@ -44,7 +44,7 @@ - diff --git a/web-admin/src/components/business/system-view-dialog/ViewKvTableCell.vue b/web-admin/src/components/business/system-view-dialog/ViewKvTableCell.vue index 6e862dc36..6a022091c 100644 --- a/web-admin/src/components/business/system-view-dialog/ViewKvTableCell.vue +++ b/web-admin/src/components/business/system-view-dialog/ViewKvTableCell.vue @@ -1,30 +1,73 @@ diff --git a/web-admin/src/views/crm/contract/components/ContractDetailDialog.vue b/web-admin/src/views/crm/contract/components/ContractDetailDialog.vue index 545a92d02..c52e59e74 100644 --- a/web-admin/src/views/crm/contract/components/ContractDetailDialog.vue +++ b/web-admin/src/views/crm/contract/components/ContractDetailDialog.vue @@ -1,134 +1,1290 @@ + - diff --git a/web-admin/src/views/crm/contract/components/ContractFormDialog.vue b/web-admin/src/views/crm/contract/components/ContractFormDialog.vue index 8b8bccb0b..91b4847e2 100644 --- a/web-admin/src/views/crm/contract/components/ContractFormDialog.vue +++ b/web-admin/src/views/crm/contract/components/ContractFormDialog.vue @@ -114,8 +114,8 @@ @change="handleDateRangeChange" /> - - + + @@ -180,7 +180,23 @@
@@ -527,7 +543,6 @@ import { Document, Delete, Sort, - Right, Plus, Search, Close, @@ -684,7 +699,7 @@ const rules = ref({ contactId: [{ required: true, message: '联系人不能为空', trigger: 'change' }], signDate: [{ required: true, message: '签订日期不能为空', trigger: 'change' }], ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'change' }], - supplierId: [{ required: true, message: '供方主体不能为空', trigger: 'change' }], + supplierId: [{ required: true, message: '交易主体不能为空', trigger: 'change' }], startDate: [ { validator: (_rule: any, _value: any, callback: any) => { @@ -1759,7 +1774,7 @@ const handleSaveDraft = async () => { return } if (!form.value.supplierId) { - $modal.msgWarning('供方主体不能为空') + $modal.msgWarning('交易主体不能为空') return } @@ -2136,20 +2151,39 @@ const loadSupplierList = async () => { flex-direction: column; align-items: center; justify-content: center; - gap: 8px; + gap: 10px; padding: 0 8px; } .party-flow-bridge__label { - font-size: 13px; + font-size: 12px; font-weight: 600; color: var(--primary-dark, #059669); - letter-spacing: 0.04em; + letter-spacing: 0.06em; + padding: 4px 10px; + border-radius: 999px; + background: #ecfdf5; + border: 1px solid #a7f3d0; + line-height: 1.2; } .party-flow-bridge__arrow { - font-size: 28px; - color: var(--primary, #10b981); + display: flex; + align-items: center; + justify-content: center; + width: 44px; + height: 44px; + border-radius: 50%; + color: var(--primary-dark, #059669); + background: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 100%); + border: 1px solid #a7f3d0; + box-shadow: 0 2px 8px rgba(16, 185, 129, 0.14); + + svg { + width: 22px; + height: 22px; + display: block; + } } @media (max-width: 1100px) { @@ -2161,6 +2195,7 @@ const loadSupplierList = async () => { .party-flow-bridge { flex: 0 0 auto; flex-direction: row; + gap: 12px; padding: 12px 0; } diff --git a/web-admin/src/views/crm/contract/index.vue b/web-admin/src/views/crm/contract/index.vue index 161449840..11bc4ca65 100644 --- a/web-admin/src/views/crm/contract/index.vue +++ b/web-admin/src/views/crm/contract/index.vue @@ -489,926 +489,8 @@ - - -
- -
-
- {{ detailContract?.contractNo }} - {{ detailContract?.contractName }} - {{ dictStore.getLabel('crm_contract_status', detailContract?.status) }} - {{ dictStore.getLabel('crm_approval_status', detailContract?.approvalStatus) }} -
-
- - 修改 - - - 删除 - - - 提交审批 - - - 开始执行 - - - 完成合同 - - - 作废 - - - 打印 - -
-
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - 合同在附件中,下载电脑中打印,不通过系统打印 - -
-
-
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
供方信息
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
需方信息
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - 产品明细 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- 合计金额(元): - ¥{{ - parseFloat(detailContract.amount || 0).toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) - }} -
-
-
-
- - - 金额统计 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-
-
- - 新增回款 - -
-
-
-
- - - - - - - - - - - - - - - - -
-
-
- - - -
-
-
-
- - 新增开票 - -
-
-
-
- - - - - - - - - - - - - - - - -
-
-
- - - - - - - - - - - - - -
-
-
- {{ item.approverName?.substring(0, 1) }} - {{ item.approverName }} - 待审批 -
-
- 已通过 - 已拒绝 - 待审批 -
-
- -
-
- - 审批意见: -
-
{{ item.approvalOpinion }}
-
- -
- - 审批时间:{{ item.approvalTime }} -
- -
- - 备注:{{ item.remark }} -
-
-
-
-
- - - 审批统计 - - - - - - - - - - - - - - -
- - - - -
- - - 合同作废记录 - - - - - 已作废 - - - {{ detailContract?.invalidTime || '-' }} - - - - - - - -
{{ detailContract?.remark || '-' }}
-
-
-
-
- - -
- - - 合同完成记录 - - - - - 已完成 - - - {{ detailContract?.actualEndDate || detailContract?.endDate || '-' }} - - - - {{ calculateDetailDuration(detailContract?.startDate, detailContract?.endDate) }} 天 - - - - - -
{{ detailContract?.remark || '-' }}
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - 合同执行记录 - - - - - 执行中 - 已完成 - - - {{ detailContract?.executeStartDate || detailContract?.startDate || '-' }} - - - {{ detailContract?.expectedEndDate || detailContract?.endDate || '-' }} - - - - {{ calculateDetailExecutedDays(detailContract?.executeStartDate || detailContract?.startDate) }} 天 - - - - - -
{{ detailContract?.executeRemark || '-' }}
-
-
-
-
- - - - - 合同扫描件 - - - -
-
-
- -
- - {{ getDetailFileExt(getDetailDisplayFileName(file)) }} -
-
- -
-
- -
- - -
-
-
- -
- - - - - - - - - - - - diff --git a/web-admin/src/views/crm/opportunity/components/OpportunityDetailDrawer.vue b/web-admin/src/views/crm/opportunity/components/OpportunityDetailDrawer.vue index b427fa932..a9f8645f4 100644 --- a/web-admin/src/views/crm/opportunity/components/OpportunityDetailDrawer.vue +++ b/web-admin/src/views/crm/opportunity/components/OpportunityDetailDrawer.vue @@ -42,110 +42,110 @@ @@ -215,10 +215,15 @@ const userStore = useUserStore() const { loadPerms, hasOpportunityPerm } = useOpportunityPerm() const currentUserId = computed(() => userStore.info?.userId || '') -const props = defineProps<{ - modelValue: boolean - opportunityId?: number | string -}>() +const props = withDefaults( + defineProps<{ + modelValue?: boolean + opportunityId?: number | string + }>(), + { + modelValue: false + } +) const emit = defineEmits<{ (e: 'update:modelValue', value: boolean): void @@ -235,6 +240,7 @@ const formVisible = ref(false) const changeStageVisible = ref(false) const followVisible = ref(false) const currentFollowData = ref(null) +const activeSideTab = ref<'follow' | 'stage'>('follow') const currentOpportunityId = computed(() => props.opportunityId ?? opportunityInfo.value?.id) @@ -278,6 +284,15 @@ function tagField( } } +function viewTableSection(title: string, fields: ViewField[]): ViewSection { + return { + title, + fields, + fieldLayout: 'table', + tableMode: 'dual' + } +} + const viewHeroMeta = computed(() => { void dictStore.loaded const o = opportunityInfo.value @@ -330,19 +345,18 @@ const viewSections = computed(() => { ] const sections: ViewSection[] = [ - { title: '基本信息', fields: basicFields }, - { title: '跟进统计', fields: trackFields } + viewTableSection('基本信息', basicFields), + viewTableSection('跟进统计', trackFields) ] if (o.competitors || o.keyFactors || o.description) { - sections.push({ - title: '业务信息', - fields: [ + sections.push( + viewTableSection('业务信息', [ { label: '竞争对手', value: o.competitors, span: true }, { label: '关键决策因素', value: o.keyFactors, span: true }, { label: '商机描述', value: o.description, span: true } - ] - }) + ]) + ) } if (o.status === 'lost' && o.lostReason) { @@ -353,10 +367,7 @@ const viewSections = computed(() => { } if (o.remark) { - sections.push({ - title: '备注', - fields: [{ label: '备注', value: o.remark, span: true }] - }) + sections.push(viewTableSection('备注', [{ label: '备注', value: o.remark, span: true }])) } return sections @@ -367,6 +378,7 @@ watch( async (val) => { visible.value = val if (val && props.opportunityId) { + activeSideTab.value = 'follow' await loadPerms() await loadData() } @@ -378,6 +390,7 @@ watch(visible, (val) => { }) const open = async (id: string | number) => { + activeSideTab.value = 'follow' await loadPerms() visible.value = true await loadDetail(id) @@ -484,30 +497,38 @@ defineExpose({ open }) diff --git a/web-admin/src/views/crm/opportunity/components/OpportunityForm.vue b/web-admin/src/views/crm/opportunity/components/OpportunityForm.vue index cef3ac061..dbdd53fbb 100644 --- a/web-admin/src/views/crm/opportunity/components/OpportunityForm.vue +++ b/web-admin/src/views/crm/opportunity/components/OpportunityForm.vue @@ -2,163 +2,165 @@ - - - - - - - - - - +
+ + + + + + - -
- {{ item.customerName }} - {{ item.customerNo }} -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ {{ item.customerName }} + {{ item.customerNo }} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -434,6 +436,6 @@ const resetForm = () => { .dialog-footer { display: flex; justify-content: flex-end; - gap: 10px; + gap: 8px; } diff --git a/web-admin/src/views/crm/product/index.vue b/web-admin/src/views/crm/product/index.vue index bf8363079..97435f535 100644 --- a/web-admin/src/views/crm/product/index.vue +++ b/web-admin/src/views/crm/product/index.vue @@ -113,13 +113,30 @@ - - - - - - (() => { ] const sections: ViewSection[] = [ - { title: '基本信息', fields: basicFields }, + { title: '基本信息', fields: basicFields, fieldLayout: 'table', tableMode: 'triple' }, { title: '价格信息', fields: priceFields }, { title: '产品图片', fields: [], slot: 'images' } ] @@ -929,6 +922,26 @@ onMounted(() => { font-weight: 600; } +.product-name-cell { + display: inline-flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: 6px; + max-width: 100%; +} + +.product-name-cell .el-link { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.product-hazard-tag { + flex-shrink: 0; +} + .product-images { display: flex; flex-wrap: wrap; diff --git a/web-admin/src/views/crm/quote/components/QuoteDetailDialog.vue b/web-admin/src/views/crm/quote/components/QuoteDetailDialog.vue index 43073099b..ec29df7f7 100644 --- a/web-admin/src/views/crm/quote/components/QuoteDetailDialog.vue +++ b/web-admin/src/views/crm/quote/components/QuoteDetailDialog.vue @@ -288,11 +288,11 @@ - + diff --git a/web-admin/src/views/db/weighing/index.vue b/web-admin/src/views/db/weighing/index.vue index 35587a126..600bc5332 100644 --- a/web-admin/src/views/db/weighing/index.vue +++ b/web-admin/src/views/db/weighing/index.vue @@ -357,7 +357,7 @@ scroll-to-error > - + ([formatYmd(new Date()), formatYmd(new Date())]) const modalOpen = ref(false) - const vehicleSelectRef = ref | null>(null) const editingRecord = ref(null) const relatedModalOpen = ref(false) const loadingRelated = ref(false) @@ -592,7 +591,7 @@ }) const formRules = { - vehicleNo: [{ required: true, message: '请输入车牌号', trigger: 'blur' }], + vehicleNo: [{ required: true, message: '请选择车牌号', trigger: 'change' }], productId: [{ required: true, message: '请选择 CRM 产品', trigger: 'change' }], supplier: [{ required: true, message: '请输入供货单位', trigger: 'blur' }], consignee: [{ required: true, message: '请输入收货单位', trigger: 'blur' }] @@ -903,9 +902,6 @@ if (!valid) return saving.value = true try { - if (formData.vehicleNo?.trim()) { - await vehicleSelectRef.value?.ensureVehicleExists() - } const hasGrossWeight = formData.grossWeight && formData.grossWeight > 0 const hasTareWeight = formData.tareWeight && formData.tareWeight > 0 if (hasGrossWeight && hasTareWeight) { diff --git a/web-admin/src/views/system/dept/index.vue b/web-admin/src/views/system/dept/index.vue index a9d7a4aad..527675ee4 100644 --- a/web-admin/src/views/system/dept/index.vue +++ b/web-admin/src/views/system/dept/index.vue @@ -496,18 +496,25 @@ const dictStore = useDictStore() const viewSections = computed(() => [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '组织名称', value: viewRow.value?.deptName }, - { label: '上级组织', value: getParentDeptDisplay(viewRow.value?.parentId) }, - { label: '组织类别', value: getDeptCategoryLabel(viewRow.value?.deptCategoryCode || '') }, + { label: '组织名称', value: viewRow.value?.deptName, long: false }, + { label: '上级组织', value: getParentDeptDisplay(viewRow.value?.parentId), long: false }, + { + label: '组织类别', + value: getDeptCategoryLabel(viewRow.value?.deptCategoryCode || ''), + long: false + }, { label: '状态', value: viewRow.value?.status === '1' ? '正常' : '停用', - tagType: viewRow.value?.status === '1' ? 'success' : 'info' + tagType: viewRow.value?.status === '1' ? 'success' : 'info', + long: false }, - { label: '负责人', value: viewRow.value?.leader }, - { label: '联系电话', value: viewRow.value?.leaderPhone }, - { label: '备注', value: viewRow.value?.remark, span: true } + { label: '负责人', value: viewRow.value?.leader, long: false }, + { label: '联系电话', value: viewRow.value?.leaderPhone, long: false }, + { label: '备注', value: viewRow.value?.remark, long: false } ] } ]) diff --git a/web-admin/src/views/system/dict/index.vue b/web-admin/src/views/system/dict/index.vue index af8b3458f..769abcb88 100644 --- a/web-admin/src/views/system/dict/index.vue +++ b/web-admin/src/views/system/dict/index.vue @@ -547,11 +547,13 @@ const viewSections = computed(() => [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '字典名称', value: viewRow.value?.dictName }, - { label: '字典类型编码', value: viewRow.value?.dictType }, - { label: '备注', value: viewRow.value?.remark, span: true }, - { label: '创建时间', value: viewRow.value?.createTime } + { label: '字典名称', value: viewRow.value?.dictName, long: false }, + { label: '字典类型编码', value: viewRow.value?.dictType, long: false }, + { label: '创建时间', value: viewRow.value?.createTime, long: false }, + { label: '备注', value: viewRow.value?.remark, long: false } ] } ]) diff --git a/web-admin/src/views/system/menu/index.vue b/web-admin/src/views/system/menu/index.vue index df47a5e63..4b1497304 100644 --- a/web-admin/src/views/system/menu/index.vue +++ b/web-admin/src/views/system/menu/index.vue @@ -62,6 +62,8 @@ min-width="180" align="left" header-align="left" + class-name="col-menu-name" + label-class-name="col-menu-name" /> [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '菜单名称', value: viewRow.value?.menuName }, + { label: '菜单名称', value: viewRow.value?.menuName, long: false }, { label: '菜单类型', value: dictStore.getLabel('menu_type', viewRow.value?.menuType || ''), - tagType: dictStore.getTagType('menu_type', viewRow.value?.menuType || '') + tagType: dictStore.getTagType('menu_type', viewRow.value?.menuType || ''), + long: false }, - { label: '路由路径', value: viewRow.value?.path }, - { label: '组件路径', value: viewRow.value?.component }, - { label: '权限标识', value: viewRow.value?.perms }, - { label: '是否外链', value: viewRow.value?.isFrame === 1 ? '否' : '是' }, + { label: '路由路径', value: viewRow.value?.path, long: false }, + { label: '组件路径', value: viewRow.value?.component, long: false }, + { label: '权限标识', value: viewRow.value?.perms, long: false }, + { label: '是否外链', value: viewRow.value?.isFrame === 1 ? '否' : '是', long: false }, { label: '显示状态', value: dictStore.getLabel('sys_visible', viewRow.value?.visible || ''), - tagType: dictStore.getTagType('sys_visible', viewRow.value?.visible || '') + tagType: dictStore.getTagType('sys_visible', viewRow.value?.visible || ''), + long: false }, { label: '状态', value: dictStore.getLabel('sys_status', viewRow.value?.status || ''), - tagType: dictStore.getTagType('sys_status', viewRow.value?.status || '') + tagType: dictStore.getTagType('sys_status', viewRow.value?.status || ''), + long: false }, - { label: '备注', value: viewRow.value?.remark, span: true } + { label: '备注', value: viewRow.value?.remark, long: false } ] } ]) @@ -570,4 +577,14 @@ margin-bottom: 0; } } + + :deep(.col-menu-name.el-table__cell) { + text-align: left !important; + + > .cell { + display: flex; + justify-content: flex-start !important; + text-align: left !important; + } + } diff --git a/web-admin/src/views/system/post/index.vue b/web-admin/src/views/system/post/index.vue index 22c52cdb4..dc0f37200 100644 --- a/web-admin/src/views/system/post/index.vue +++ b/web-admin/src/views/system/post/index.vue @@ -389,16 +389,19 @@ const dictStore = useDictStore() const sections: any[] = [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '职位名称', value: row.postName }, - { label: '职位编码', value: row.postCode }, + { label: '职位名称', value: row.postName, long: false }, + { label: '职位编码', value: row.postCode, long: false }, { label: '状态', value: dictStore.getLabel('sys_status', row.status), - tagType: dictStore.getTagType('sys_status', row.status) + tagType: dictStore.getTagType('sys_status', row.status), + long: false }, - { label: '创建时间', value: row.createTime }, - { label: '备注', value: row.remark, span: true } + { label: '创建时间', value: row.createTime, long: false }, + { label: '备注', value: row.remark, long: false } ] } ] diff --git a/web-admin/src/views/system/role/index.vue b/web-admin/src/views/system/role/index.vue index e1270ea91..1b52df1c7 100644 --- a/web-admin/src/views/system/role/index.vue +++ b/web-admin/src/views/system/role/index.vue @@ -949,15 +949,18 @@ const dictStore = useDictStore() const sections: ViewSection[] = [ { title: '基本信息', + fieldLayout: 'table', + tableMode: 'triple', fields: [ - { label: '角色名称', value: row.roleName }, + { label: '角色名称', value: row.roleName, long: false }, { label: '状态', value: dictStore.getLabel('sys_status', row.status), - tagType: dictStore.getTagType('sys_status', row.status) as 'success' | 'info' + tagType: dictStore.getTagType('sys_status', row.status) as 'success' | 'info', + long: false }, - { label: '创建时间', value: row.createTime }, - { label: '备注', value: row.remark, span: true } + { label: '创建时间', value: row.createTime, long: false }, + { label: '备注', value: row.remark, long: false } ] }, { diff --git a/web-admin/src/views/system/tenant/index.vue b/web-admin/src/views/system/tenant/index.vue index d9a5f6c6e..a71c43d85 100644 --- a/web-admin/src/views/system/tenant/index.vue +++ b/web-admin/src/views/system/tenant/index.vue @@ -294,12 +294,14 @@ return [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '租户编号', value: row.tenantNo }, - { label: '租户名称', value: row.tenantName }, - { label: '联系人', value: row.contactName }, - { label: '联系电话', value: row.contactPhone }, - { label: '备注', value: row.remark, span: true } + { label: '租户编号', value: row.tenantNo, long: false }, + { label: '租户名称', value: row.tenantName, long: false }, + { label: '联系人', value: row.contactName, long: false }, + { label: '联系电话', value: row.contactPhone, long: false }, + { label: '备注', value: row.remark, long: false } ] } ] diff --git a/web-admin/src/views/system/user/index.vue b/web-admin/src/views/system/user/index.vue index a468d79e4..14aea6297 100644 --- a/web-admin/src/views/system/user/index.vue +++ b/web-admin/src/views/system/user/index.vue @@ -615,25 +615,29 @@ const dictStore = useDictStore() return [ { title: '基本信息', + fieldLayout: 'table' as const, + tableMode: 'triple' as const, fields: [ - { label: '用户账号', value: row.userNo }, - { label: '用户名', value: row.nickName }, - { label: '所属组织', value: formatUserDeptDisplay(row) }, - { label: '手机号', value: row.phoneNo }, - { label: '邮箱', value: row.email }, + { label: '用户账号', value: row.userNo, long: false }, + { label: '用户名', value: row.nickName, long: false }, + { label: '所属组织', value: formatUserDeptDisplay(row), long: false }, + { label: '手机号', value: row.phoneNo, long: false }, + { label: '邮箱', value: row.email, long: false }, { label: '性别', value: - ({ '0': '男', '1': '女', '2': '未知' } as Record)[row.sex] || '未知' + ({ '0': '男', '1': '女', '2': '未知' } as Record)[row.sex] || '未知', + long: false }, { label: '状态', value: dictStore.getLabel('sys_status', row.status), - tagType: dictStore.getTagType('sys_status', row.status) + tagType: dictStore.getTagType('sys_status', row.status), + long: false }, - { label: '角色', value: formatUserRoleDisplay(row), span: true }, - { label: '创建时间', value: row.createTime }, - { label: '备注', value: row.remark, span: true } + { label: '创建时间', value: row.createTime, long: false }, + { label: '角色', value: formatUserRoleDisplay(row), long: false }, + { label: '备注', value: row.remark, long: false } ] } ]