diff --git a/backend/app.pid b/backend/app.pid index 11a7a796e..126df4065 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -35826 +65868 diff --git a/backend/app/api/__init__.py b/backend/app/api/__init__.py index 8e3337b19..4017afbcb 100644 --- a/backend/app/api/__init__.py +++ b/backend/app/api/__init__.py @@ -7,6 +7,7 @@ from app.api.leave import router as leave_router from app.api.crm import router as crm_router from app.api.monitor import router as monitor_router from app.api.bx import bx_router +from app.api.db import db_router __all__ = [ "public_router", @@ -17,4 +18,5 @@ __all__ = [ "crm_router", "monitor_router", "bx_router", + "db_router", ] diff --git a/backend/app/api/db/__init__.py b/backend/app/api/db/__init__.py new file mode 100644 index 000000000..a1ed8e473 --- /dev/null +++ b/backend/app/api/db/__init__.py @@ -0,0 +1,17 @@ +"""地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。""" +from fastapi import APIRouter + +from app.api.db import dashboard, inventory, plans, vehicles, 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) +db_router.include_router(dashboard.router) + + +@db_router.get("/db/health") +def db_health(): + """P0 健康检查:验证 db 路由已挂载。""" + return {"status": "ok", "module": "db"} diff --git a/backend/app/api/db/dashboard.py b/backend/app/api/db/dashboard.py new file mode 100644 index 000000000..29d102f5d --- /dev/null +++ b/backend/app/api/db/dashboard.py @@ -0,0 +1,180 @@ +from __future__ import annotations + +from datetime import date + +from fastapi import APIRouter, Depends +from sqlalchemy import func, text +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.models.db_models import DbInboundOutbound, DbWeighingSlip +from app.schemas.db.dashboard import ( + DashboardCargoStat, + DashboardPartnerCargoStat, + DashboardStats, +) + +router = APIRouter(prefix="/dashboard", tags=["dashboard"]) + + +@router.get("/stats", response_model=DashboardStats) +def get_dashboard_stats( + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> DashboardStats: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + today = date.today() + + today_inbound = float( + db.query(func.coalesce(func.sum(DbInboundOutbound.quantity), 0)) + .filter( + DbInboundOutbound.date == today, + DbInboundOutbound.business_type == "入库", + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.tenant_no == tenant_no, + ) + .scalar() + or 0 + ) + + today_outbound = float( + db.query(func.coalesce(func.sum(DbInboundOutbound.quantity), 0)) + .filter( + DbInboundOutbound.date == today, + DbInboundOutbound.business_type == "出库", + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.tenant_no == tenant_no, + ) + .scalar() + or 0 + ) + + abnormal_orders = int( + db.query(func.count(DbWeighingSlip.id)) + .filter( + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + DbWeighingSlip.tenant_no == tenant_no, + ) + .scalar() + or 0 + ) + + return DashboardStats( + today_inbound=today_inbound, + today_outbound=today_outbound, + abnormal_orders=abnormal_orders, + ) + + +@router.get("/inbound/by-cargo", response_model=list[DashboardCargoStat]) +def get_inbound_by_cargo( + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[DashboardCargoStat]: + return _cargo_stats(db, user, business_type="入库") + + +@router.get("/inbound/by-partner-cargo", response_model=list[DashboardPartnerCargoStat]) +def get_inbound_by_partner_cargo( + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[DashboardPartnerCargoStat]: + return _partner_cargo_stats(db, user, business_type="入库") + + +@router.get("/outbound/by-cargo", response_model=list[DashboardCargoStat]) +def get_outbound_by_cargo( + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[DashboardCargoStat]: + return _cargo_stats(db, user, business_type="出库") + + +@router.get("/outbound/by-partner-cargo", response_model=list[DashboardPartnerCargoStat]) +def get_outbound_by_partner_cargo( + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[DashboardPartnerCargoStat]: + return _partner_cargo_stats(db, user, business_type="出库") + + +def _cargo_stats(db: Session, user: DbUserContext, *, business_type: str) -> list[DashboardCargoStat]: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + today = date.today() + query = text( + """ + SELECT + COALESCE(io.product, ws.cargo_name, '未填写货物') AS label, + COALESCE(SUM(io.quantity), 0) AS planned, + COALESCE(SUM(ws.net_weight) / 1000.0, 0) AS actual + FROM db_inbound_outbound io + LEFT JOIN db_weighing_slip ws + ON ws.inbound_outbound_id = io.id + AND ws.is_voided = 0 + AND ws.del_flag = 0 + AND ws.tenant_no = io.tenant_no + WHERE io.date = :today + AND io.business_type = :business_type + AND io.del_flag = 0 + AND io.tenant_no = :tenant_no + GROUP BY COALESCE(io.product, ws.cargo_name, '未填写货物') + ORDER BY planned DESC + """ + ) + rows = db.execute( + query, + {"today": today, "business_type": business_type, "tenant_no": tenant_no}, + ).all() + return [ + DashboardCargoStat(label=row.label, planned=float(row.planned), actual=float(row.actual)) + for row in rows + ] + + +def _partner_cargo_stats( + db: Session, + user: DbUserContext, + *, + business_type: str, +) -> list[DashboardPartnerCargoStat]: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + today = date.today() + query = text( + """ + SELECT + CONCAT( + COALESCE(io.partner_company, ''), + ' - ', + COALESCE(io.product, ws.cargo_name, '未填写货物') + ) AS label, + COALESCE(SUM(io.quantity), 0) AS planned, + COALESCE(SUM(ws.net_weight) / 1000.0, 0) AS actual + FROM db_inbound_outbound io + LEFT JOIN db_weighing_slip ws + ON ws.inbound_outbound_id = io.id + AND ws.is_voided = 0 + AND ws.del_flag = 0 + AND ws.tenant_no = io.tenant_no + WHERE io.date = :today + AND io.business_type = :business_type + AND io.del_flag = 0 + AND io.tenant_no = :tenant_no + GROUP BY io.partner_company, io.product, ws.cargo_name + ORDER BY io.partner_company, planned DESC + """ + ) + rows = db.execute( + query, + {"today": today, "business_type": business_type, "tenant_no": tenant_no}, + ).all() + return [ + DashboardPartnerCargoStat( + label=row.label, + planned=float(row.planned), + actual=float(row.actual), + ) + for row in rows + ] diff --git a/backend/app/api/db/inventory.py b/backend/app/api/db/inventory.py new file mode 100644 index 000000000..67fb50acc --- /dev/null +++ b/backend/app/api/db/inventory.py @@ -0,0 +1,488 @@ +from typing import Optional + +import re +from datetime import datetime + +from fastapi import APIRouter, Depends, HTTPException, Query, status +from pydantic import BaseModel +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, 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.schemas.db.inventory import ( + CreateLinkForPlanPayload, + InboundOutboundCreate, + InboundOutboundRead, + InboundOutboundUpdate, +) +from app.schemas.db.plans import PurchasePlanRead +from app.schemas.db.weighing import WeighingSlipRead +from app.services.db.mappers import ( + EMPTY_INVENTORY_DATE, + inventory_to_read, + is_empty_inventory_date, + parse_date_str, + plan_to_read, + weighing_to_read, +) +from app.services.db.product_helpers import ( + apply_product_snapshot_to_inventory, + resolve_crm_product, +) + +router = APIRouter(prefix="/inventory", tags=["inventory"]) + +STATUS_THIRD_PARTY_FILL = "待三方填写" +_INVENTORY_REMARK_FIELD = "remarks" + + +def _base_query(db: Session, tenant_no: str): + return db.query(DbInboundOutbound).filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + ) + + +def _generate_batch_no(db: Session, tenant_no: str) -> str: + rows = ( + db.query(DbInboundOutbound.batch_no) + .filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.batch_no.like("CRKDH%"), + ) + .all() + ) + max_seq = 0 + pattern = re.compile(r"^CRKDH(\d+)$") + for (batch_no,) in rows: + if batch_no: + match = pattern.match(batch_no) + if match: + max_seq = max(max_seq, int(match.group(1))) + return f"CRKDH{max_seq + 1:07d}" + + +def _resolve_tenant_no( + db: Session, + user: Optional[DbUserContext], + purchase_plan_id: Optional[str] = None, +) -> str: + if user: + return get_tenant_no(db, user.to_tenant_user_dict()) + if purchase_plan_id: + plan = ( + db.query(DbPurchasePlan) + .filter(DbPurchasePlan.id == purchase_plan_id, DbPurchasePlan.del_flag == 0) + .one_or_none() + ) + if plan: + return plan.tenant_no + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="无法确定租户") + + +def _get_inventory_by_id(db: Session, inventory_id: str) -> DbInboundOutbound: + row = ( + db.query(DbInboundOutbound) + .filter(DbInboundOutbound.id == inventory_id, DbInboundOutbound.del_flag == 0) + .one_or_none() + ) + if row is None: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Inventory {inventory_id} not found", + ) + return row + + +def _get_inventory(db: Session, tenant_no: str, inventory_id: str) -> DbInboundOutbound: + row = ( + _base_query(db, tenant_no) + .filter(DbInboundOutbound.id == inventory_id) + .one_or_none() + ) + if row is None: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Inventory {inventory_id} not found", + ) + 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: + if "product" in payload_dict and "product_id" not in payload_dict: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="请从 CRM 重新选择产品", + ) + product_id = payload_dict.pop("product_id", None) + payload_dict.pop("product", None) + payload_dict.pop("specification", None) + if product_id is not None: + snapshot = resolve_crm_product(db, tenant_no, product_id) + apply_product_snapshot_to_inventory(row, snapshot) + + +def _apply_inventory_update(row: DbInboundOutbound, payload_dict: dict) -> None: + for key, value in payload_dict.items(): + if key == _INVENTORY_REMARK_FIELD: + if isinstance(value, str): + value = value.strip() + row.remark = value + continue + if key == "date": + if value is None or (isinstance(value, str) and not value.strip()): + row.date = EMPTY_INVENTORY_DATE + else: + row.date = parse_date_str(str(value)) or EMPTY_INVENTORY_DATE + continue + if isinstance(value, str): + value = value.strip() + setattr(row, key, value) + + +def _maybe_promote_third_party_status(row: DbInboundOutbound) -> None: + if row.status != STATUS_THIRD_PARTY_FILL: + return + has_date = not is_empty_inventory_date(row.date) + has_qty = row.quantity is not None and row.quantity != 0 + has_vehicle = bool(row.vehicle_no and row.vehicle_no.strip()) + if has_date and has_qty and has_vehicle: + row.status = "待入库" if row.business_type == "入库" else "待出库" + + +@router.get("/", response_model=list[InboundOutboundRead]) +def list_inventory( + q: Optional[str] = Query(default=None, description="模糊搜索关键词"), + plan_no: Optional[str] = Query(default=None, alias="planNo", description="计划号"), + batch_no: Optional[str] = Query(default=None, alias="batchNo", description="出入库单号"), + partner_company: Optional[str] = Query( + default=None, alias="partnerCompany", description="往来单位" + ), + product: Optional[str] = Query(default=None, description="产品"), + vehicle_no: Optional[str] = Query(default=None, alias="vehicleNo", description="车牌号"), + date_from: Optional[str] = Query(default=None, alias="dateFrom", description="开始日期"), + date_to: Optional[str] = Query(default=None, alias="dateTo", description="结束日期"), + status_filter: Optional[str] = Query(default=None, alias="status", description="状态筛选"), + business_type: Optional[str] = Query(default=None, alias="businessType", description="业务类型"), + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[InboundOutboundRead]: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + query = _base_query(db, tenant_no).order_by( + DbInboundOutbound.date.desc(), + DbInboundOutbound.id.desc(), + ) + + if q: + keyword = q.lower() + query = query.filter( + or_( + func.lower(DbInboundOutbound.partner_company).contains(keyword), + func.lower(DbInboundOutbound.product).contains(keyword), + func.lower(DbInboundOutbound.plan_no).contains(keyword), + func.lower(DbInboundOutbound.batch_no).contains(keyword), + func.lower(DbInboundOutbound.vehicle_no).contains(keyword), + ) + ) + + if plan_no: + query = query.filter(DbInboundOutbound.plan_no.contains(plan_no)) + + if batch_no: + query = query.filter(DbInboundOutbound.batch_no.contains(batch_no)) + + if partner_company: + query = query.filter( + func.lower(DbInboundOutbound.partner_company).contains(partner_company.lower()) + ) + + if product: + query = query.filter(func.lower(DbInboundOutbound.product).contains(product.lower())) + + if vehicle_no: + query = query.filter(DbInboundOutbound.vehicle_no.contains(vehicle_no)) + + if date_from: + start = parse_date_str(date_from) + if start: + query = query.filter(DbInboundOutbound.date >= start) + + if date_to: + end = parse_date_str(date_to) + if end: + query = query.filter(DbInboundOutbound.date <= end) + + if status_filter: + query = query.filter(DbInboundOutbound.status == status_filter) + + if business_type: + query = query.filter(DbInboundOutbound.business_type == business_type) + + inventories = query.all() + inventory_ids = [inv.id for inv in inventories] + weighing_map: dict[str, DbWeighingSlip] = {} + if inventory_ids: + weighings = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.tenant_no == tenant_no, + DbWeighingSlip.del_flag == 0, + DbWeighingSlip.inbound_outbound_id.in_(inventory_ids), + DbWeighingSlip.is_voided == 0, + ) + .order_by(DbWeighingSlip.id.asc()) + .all() + ) + for weighing in weighings: + if ( + weighing.inbound_outbound_id + and weighing.inbound_outbound_id not in weighing_map + ): + weighing_map[weighing.inbound_outbound_id] = weighing + + result_list: list[InboundOutboundRead] = [] + for inventory in inventories: + try: + result_list.append( + inventory_to_read( + inventory, + weighing=weighing_map.get(inventory.id), + ) + ) + except Exception: + continue + return result_list + + +@router.post("/", response_model=InboundOutboundRead, status_code=status.HTTP_201_CREATED) +def create_inventory( + payload: InboundOutboundCreate, + db: Session = Depends(get_db), + user: Optional[DbUserContext] = Depends(get_db_current_user_optional), +) -> InboundOutboundRead: + tenant_no = _resolve_tenant_no(db, user, payload.purchase_plan_id) + + batch_no = payload.batch_no.strip() if payload.batch_no else None + if not batch_no: + batch_no = _generate_batch_no(db, tenant_no) + + status_value = ( + payload.status.strip() + if payload.status and str(payload.status).strip() + else ("待入库" if payload.business_type == "入库" else "待出库") + ) + + snapshot = resolve_crm_product(db, tenant_no, payload.product_id) + + row = DbInboundOutbound( + id=next_inbound_outbound_id(db, tenant_no), + tenant_no=tenant_no, + date=parse_date_str(payload.date) or datetime.now().date(), + partner_company=payload.partner_company.strip(), + business_type=payload.business_type, + quantity=payload.quantity, + plan_no=payload.plan_no.strip() if payload.plan_no else None, + batch_no=batch_no, + vehicle_no=payload.vehicle_no.strip(), + status=status_value, + remark=payload.remarks, + purchase_plan_id=payload.purchase_plan_id, + create_by=user.id if user else None, + create_dept_id=user.dept_id if user else "", + ) + apply_product_snapshot_to_inventory(row, snapshot) + db.add(row) + db.commit() + db.refresh(row) + return inventory_to_read(row) + + +@router.post( + "/create-link-for-plan", + response_model=InboundOutboundRead, + status_code=status.HTTP_201_CREATED, +) +def create_link_for_plan( + payload: CreateLinkForPlanPayload, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> InboundOutboundRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + plan = ( + db.query(DbPurchasePlan) + .filter( + DbPurchasePlan.id == payload.purchase_plan_id, + DbPurchasePlan.tenant_no == tenant_no, + DbPurchasePlan.del_flag == 0, + ) + .one_or_none() + ) + if not plan: + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Plan not found") + + if not plan.product_id: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="计划未关联 CRM 产品,请先编辑计划并选择产品", + ) + + row = DbInboundOutbound( + id=next_inbound_outbound_id(db, tenant_no), + tenant_no=tenant_no, + date=EMPTY_INVENTORY_DATE, + partner_company=(plan.customer_name or "").strip() or "待填写", + business_type=plan.business_type, + product_id=plan.product_id, + product=(plan.product or "").strip(), + specification=plan.specification, + quantity=0.0, + plan_no=(plan.plan_no or "").strip() or None, + batch_no=_generate_batch_no(db, tenant_no), + vehicle_no="", + status=STATUS_THIRD_PARTY_FILL, + remark=payload.remarks, + purchase_plan_id=plan.id, + create_by=user.id, + create_dept_id=user.dept_id, + ) + db.add(row) + db.commit() + db.refresh(row) + return inventory_to_read(row) + + +@router.get("/{id}", response_model=InboundOutboundRead) +def get_inventory( + id: str, + db: Session = Depends(get_db), +) -> InboundOutboundRead: + """单条查询(三方 H5 填写页无需门户登录)。""" + row = _get_inventory_by_id(db, id) + weighing = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.inbound_outbound_id == row.id, + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + ) + .order_by(DbWeighingSlip.id.asc()) + .first() + ) + return inventory_to_read(row, weighing=weighing) + + +@router.patch("/{id}", response_model=InboundOutboundRead) +def update_inventory( + id: str, + payload: InboundOutboundUpdate, + db: Session = Depends(get_db), +) -> InboundOutboundRead: + """更新(三方 H5 填写页无需门户登录)。""" + 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) + db.commit() + db.refresh(row) + return inventory_to_read(row) + + +@router.delete("/{id}", status_code=status.HTTP_204_NO_CONTENT) +def delete_inventory( + 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_inventory(db, tenant_no, id) + row.del_flag = 1 + row.update_by = user.id + db.commit() + + +class InventoryRelatedData(BaseModel): + plan: Optional[PurchasePlanRead] + weighing: Optional[WeighingSlipRead] + + +@router.get("/{id}/related", response_model=InventoryRelatedData) +def get_inventory_related( + id: str, + db: Session = Depends(get_db), +) -> InventoryRelatedData: + row = _get_inventory_by_id(db, id) + + plan = None + if row.purchase_plan_id: + plan = ( + db.query(DbPurchasePlan) + .filter( + DbPurchasePlan.id == row.purchase_plan_id, + DbPurchasePlan.del_flag == 0, + ) + .one_or_none() + ) + + weighing = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.inbound_outbound_id == row.id, + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + ) + .limit(1) + .first() + ) + + return InventoryRelatedData( + plan=plan_to_read(plan) if plan else None, + weighing=weighing_to_read(weighing) if weighing else None, + ) diff --git a/backend/app/api/db/plans.py b/backend/app/api/db/plans.py new file mode 100644 index 000000000..dfaed1706 --- /dev/null +++ b/backend/app/api/db/plans.py @@ -0,0 +1,475 @@ +from typing import Optional + +from datetime import date, datetime + +from fastapi import APIRouter, Depends, HTTPException, Query, status +from pydantic import BaseModel +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 DbInboundOutbound, DbPurchasePlan, DbWeighingSlip +from app.schemas.db.inventory import InboundOutboundRead +from app.schemas.db.plans import ( + PurchasePlanCreate, + PurchasePlanRead, + PurchasePlanUpdate, + PurchasePlanWithFillLink, +) +from app.schemas.db.weighing import WeighingSlipRead +from app.services.db.mappers import ( + inventory_to_read, + parse_date_str, + parse_datetime_str, + plan_to_read, + plan_to_read_with_fill_link, + weighing_to_read, +) +from app.services.db.product_helpers import ( + apply_product_snapshot_to_plan, + resolve_crm_product, +) + +router = APIRouter(prefix="/plans", tags=["plans"]) + +STATUS_THIRD_PARTY_FILL = "待三方填写" + +_PLAN_DATE_FIELDS = {"plan_date", "start_date", "end_date"} +_PLAN_REMARK_FIELD = "remarks" + + +def _base_query(db: Session, tenant_no: str): + return db.query(DbPurchasePlan).filter( + DbPurchasePlan.tenant_no == tenant_no, + DbPurchasePlan.del_flag == 0, + ) + + +@router.get("/", response_model=list[PurchasePlanWithFillLink]) +def list_plans( + q: Optional[str] = Query(default=None, description="模糊搜索往来单位或产品"), + plan_no: Optional[str] = Query(default=None, alias="planNo", description="计划号"), + customer_name: Optional[str] = Query( + default=None, alias="customerName", description="往来单位" + ), + product: Optional[str] = Query(default=None, description="产品"), + business_type: Optional[str] = Query(default=None, alias="businessType", description="业务类型"), + execution_status: Optional[str] = Query( + default=None, alias="executionStatus", description="执行状态" + ), + created_from: Optional[str] = Query(default=None, alias="createdFrom", description="创建开始日期"), + created_to: Optional[str] = Query(default=None, alias="createdTo", description="创建结束日期"), + start_date_from: Optional[str] = Query( + default=None, alias="startDateFrom", description="计划起始日期开始" + ), + start_date_to: Optional[str] = Query( + default=None, alias="startDateTo", description="计划起始日期结束" + ), + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[PurchasePlanWithFillLink]: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + query = _base_query(db, tenant_no).order_by(DbPurchasePlan.create_time.desc()) + + if q: + keyword = q.lower() + query = query.filter( + or_( + func.lower(DbPurchasePlan.customer_name).contains(keyword), + func.lower(DbPurchasePlan.product).contains(keyword), + func.lower(DbPurchasePlan.plan_no).contains(keyword), + ) + ) + + if plan_no: + query = query.filter(DbPurchasePlan.plan_no.contains(plan_no)) + + if customer_name: + query = query.filter( + func.lower(DbPurchasePlan.customer_name).contains(customer_name.lower()) + ) + + if product: + query = query.filter(func.lower(DbPurchasePlan.product).contains(product.lower())) + + if business_type: + query = query.filter(DbPurchasePlan.business_type == business_type) + + if execution_status: + query = query.filter(DbPurchasePlan.execution_status == execution_status) + + if created_from: + query = query.filter(DbPurchasePlan.create_time >= created_from) + + if created_to: + query = query.filter(DbPurchasePlan.create_time <= f"{created_to} 23:59:59") + + if start_date_from: + start_from = parse_date_str(start_date_from) + if start_from: + query = query.filter(DbPurchasePlan.start_date >= start_from) + + if start_date_to: + start_to = parse_date_str(start_date_to) + if start_to: + query = query.filter(DbPurchasePlan.start_date <= start_to) + + plans = query.all() + if not plans: + return [] + + plan_ids = [p.id for p in plans] + fill_links = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.purchase_plan_id.in_(plan_ids), + DbInboundOutbound.status == STATUS_THIRD_PARTY_FILL, + ) + .all() + ) + plan_id_to_inv_id = { + inv.purchase_plan_id: inv.id for inv in fill_links if inv.purchase_plan_id + } + + plan_nos = [p.plan_no for p in plans if p.plan_no] + executed_sum_map: dict[tuple[Optional[str], Optional[str]], float] = {} + + if plan_ids or plan_nos: + weighing_filters = [DbWeighingSlip.is_voided == 0, DbWeighingSlip.del_flag == 0] + weighing_filters.append(DbWeighingSlip.tenant_no == tenant_no) + id_filters = [] + if plan_ids: + id_filters.append(DbWeighingSlip.purchase_plan_id.in_(plan_ids)) + if plan_nos: + id_filters.append(DbWeighingSlip.plan_no.in_(plan_nos)) + weighing_filters.append(or_(*id_filters)) + + weighing_rows = ( + db.query( + DbWeighingSlip.purchase_plan_id, + DbWeighingSlip.plan_no, + func.sum(DbWeighingSlip.net_weight).label("total_executed"), + ) + .filter(*weighing_filters) + .group_by(DbWeighingSlip.purchase_plan_id, DbWeighingSlip.plan_no) + .all() + ) + for row in weighing_rows: + key = (row.purchase_plan_id, row.plan_no) + executed_sum_map[key] = float(row.total_executed or 0) + + def calc_executed_for_plan(plan: DbPurchasePlan) -> float: + if not executed_sum_map: + return 0.0 + total = 0.0 + for (pid, pno), executed in executed_sum_map.items(): + if pid is not None and pid == plan.id: + total += executed + elif pno and plan.plan_no and pno == plan.plan_no: + total += executed + return total + + result_list: list[PurchasePlanWithFillLink] = [] + for plan in plans: + result_list.append( + plan_to_read_with_fill_link( + plan, + executed_quantity=calc_executed_for_plan(plan), + fill_link_inventory_id=plan_id_to_inv_id.get(plan.id), + ) + ) + return result_list + + +def _generate_plan_no() -> str: + from app.services.db.plan_helpers import generate_plan_no + + return generate_plan_no() + + +@router.post("/", response_model=PurchasePlanRead, status_code=status.HTTP_201_CREATED) +def create_plan( + payload: PurchasePlanCreate, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> PurchasePlanRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + plan_no = payload.plan_no if payload.plan_no else _generate_plan_no() + + execution_status = payload.execution_status + if not execution_status: + execution_status = "待入库" if payload.business_type == "入库" else "待出库" + + snapshot = resolve_crm_product(db, tenant_no, payload.product_id) + + plan = DbPurchasePlan( + id=generate_uuid(), + tenant_no=tenant_no, + plan_no=plan_no, + plan_date=parse_date_str(payload.plan_date) or date.today(), + start_date=parse_date_str(payload.start_date), + end_date=parse_date_str(payload.end_date), + business_type=payload.business_type, + planned_quantity=payload.planned_quantity, + vehicle_no=payload.vehicle_no or "", + customer_name=payload.customer_name.strip() if payload.customer_name else None, + remark=payload.remarks, + execution_status=execution_status, + executed_at=None, + last_weighing_slip_id=None, + executed_quantity=0, + auto_generate_enabled=payload.auto_generate_enabled or 0, + auto_generate_end_month=payload.auto_generate_end_month, + auto_generate_last_month=None, + create_by=user.id, + create_dept_id=user.dept_id, + ) + apply_product_snapshot_to_plan(plan, snapshot) + db.add(plan) + db.commit() + db.refresh(plan) + return plan_to_read(plan) + + +class AutoGenerateMonthlyResult(BaseModel): + created_count: int + skipped_reason: Optional[str] = None + current_month: str + + +@router.post("/run-auto-generate", response_model=AutoGenerateMonthlyResult) +def run_auto_generate_monthly( + force: bool = Query(default=False, description="true 时跳过「仅每月1日」限制,供验收手动触发"), + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> AutoGenerateMonthlyResult: + """手动触发计划按月自动生成(定时任务同款逻辑)。""" + get_tenant_no(db, user.to_tenant_user_dict()) + from app.services.db.auto_generate_plans import run_auto_generate_monthly_plans + + result = run_auto_generate_monthly_plans(db, force=force) + return AutoGenerateMonthlyResult(**result) + + +@router.get("/{id}", response_model=PurchasePlanRead) +def get_plan( + id: str, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> PurchasePlanRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + plan = _get_plan(db, tenant_no, id) + return plan_to_read(plan) + + +@router.patch("/{id}", response_model=PurchasePlanRead) +def update_plan( + id: str, + payload: PurchasePlanUpdate, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> PurchasePlanRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + plan = _get_plan(db, tenant_no, id) + payload_dict = payload.model_dump(exclude_unset=True) + _apply_plan_product_update(db, tenant_no, plan, payload_dict) + _apply_plan_update(plan, payload_dict) + plan.update_by = user.id + db.commit() + db.refresh(plan) + return plan_to_read(plan) + + +@router.delete("/{id}", status_code=status.HTTP_204_NO_CONTENT) +def delete_plan( + 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()) + plan = _get_plan(db, tenant_no, id) + plan.del_flag = 1 + plan.update_by = user.id + db.commit() + + +def _get_plan(db: Session, tenant_no: str, plan_id: str) -> DbPurchasePlan: + plan = ( + _base_query(db, tenant_no) + .filter(DbPurchasePlan.id == plan_id) + .one_or_none() + ) + if plan is None: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Plan {plan_id} not found", + ) + return plan + + +def _get_plan_by_id_only(db: Session, plan_id: str) -> DbPurchasePlan: + plan = ( + db.query(DbPurchasePlan) + .filter(DbPurchasePlan.id == plan_id, DbPurchasePlan.del_flag == 0) + .one_or_none() + ) + if plan is None: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Plan {plan_id} not found", + ) + return plan + + +def _apply_plan_product_update( + db: Session, tenant_no: str, plan: DbPurchasePlan, payload_dict: dict +) -> None: + if "product" in payload_dict and "product_id" not in payload_dict: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="请从 CRM 重新选择产品", + ) + product_id = payload_dict.pop("product_id", None) + payload_dict.pop("product", None) + payload_dict.pop("specification", None) + if product_id is not None: + snapshot = resolve_crm_product(db, tenant_no, product_id) + apply_product_snapshot_to_plan(plan, snapshot) + + +def _apply_plan_update(plan: DbPurchasePlan, payload_dict: dict) -> None: + for key, value in payload_dict.items(): + if key == _PLAN_REMARK_FIELD: + if isinstance(value, str): + value = value.strip() + plan.remark = value + continue + if key in _PLAN_DATE_FIELDS: + if value is None: + setattr(plan, key, None) + else: + setattr(plan, key, parse_date_str(str(value))) + continue + if key == "executed_at": + plan.executed_at = parse_datetime_str(str(value)) if value else None + continue + if isinstance(value, str): + value = value.strip() + setattr(plan, key, value) + + +class PlanRelatedData(BaseModel): + inventories: list[InboundOutboundRead] + weighings: list[WeighingSlipRead] + + +@router.get("/{id}/related", response_model=PlanRelatedData) +def get_plan_related( + id: str, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> PlanRelatedData: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + plan = _get_plan(db, tenant_no, id) + + inventories = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.purchase_plan_id == plan.id, + ) + .order_by(DbInboundOutbound.date.desc(), DbInboundOutbound.id.desc()) + .all() + ) + + weighing_query = db.query(DbWeighingSlip).filter( + DbWeighingSlip.tenant_no == tenant_no, + DbWeighingSlip.del_flag == 0, + DbWeighingSlip.is_voided == 0, + ) + if plan.plan_no: + weighing_query = weighing_query.filter( + or_( + DbWeighingSlip.plan_no == plan.plan_no, + DbWeighingSlip.purchase_plan_id == plan.id, + ) + ) + else: + weighing_query = weighing_query.filter(DbWeighingSlip.purchase_plan_id == plan.id) + weighings = weighing_query.order_by(DbWeighingSlip.create_time.desc()).all() + + return PlanRelatedData( + inventories=[inventory_to_read(inv) for inv in inventories], + weighings=[weighing_to_read(w) for w in weighings], + ) + + +class ThirdPartyPlanPageData(BaseModel): + plan: PurchasePlanRead + today_inventories: list[InboundOutboundRead] + month_inventories: list[InboundOutboundRead] + + +@router.get("/{id}/third-party-page", response_model=ThirdPartyPlanPageData) +def get_third_party_plan_page( + id: str, + db: Session = Depends(get_db), +) -> ThirdPartyPlanPageData: + """三方 H5 填写页初始化数据(无需门户登录,与原系统一致)。""" + plan = _get_plan_by_id_only(db, id) + tenant_no = plan.tenant_no + + today = date.today() + start = plan.start_date + end = plan.end_date + + if start and today < start: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="计划尚未生效,当前日期不允许填写出入库单", + ) + if end and today > end: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="计划已过期,当前日期不允许填写出入库单", + ) + + today_str = today.strftime("%Y-%m-%d") + today_date = parse_date_str(today_str) + inventories = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.purchase_plan_id == plan.id, + DbInboundOutbound.date == today_date, + ) + .order_by(DbInboundOutbound.date.desc(), DbInboundOutbound.id.desc()) + .all() + ) + + month_start = today.replace(day=1) + month_history = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + DbInboundOutbound.purchase_plan_id == plan.id, + DbInboundOutbound.date >= month_start, + DbInboundOutbound.date < today, + ) + .order_by(DbInboundOutbound.date.desc(), DbInboundOutbound.id.desc()) + .all() + ) + + return ThirdPartyPlanPageData( + plan=plan_to_read(plan), + today_inventories=[inventory_to_read(inv) for inv in inventories], + month_inventories=[inventory_to_read(inv) for inv in month_history], + ) diff --git a/backend/app/api/db/vehicles.py b/backend/app/api/db/vehicles.py new file mode 100644 index 000000000..2ff5f9355 --- /dev/null +++ b/backend/app/api/db/vehicles.py @@ -0,0 +1,146 @@ +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/api/db/weighing.py b/backend/app/api/db/weighing.py new file mode 100644 index 000000000..29d57031f --- /dev/null +++ b/backend/app/api/db/weighing.py @@ -0,0 +1,414 @@ +from typing import Optional + +from datetime import datetime + +from fastapi import APIRouter, Depends, HTTPException, Query, status +from pydantic import BaseModel +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 DbInboundOutbound, DbPurchasePlan, DbWeighingSlip +from app.schemas.db.inventory import InboundOutboundRead +from app.schemas.db.plans import PurchasePlanRead +from app.schemas.db.weighing import WeighingSlipCreate, WeighingSlipRead, WeighingSlipUpdate +from app.services.db.mappers import ( + datetime_end_of_day, + inventory_date_to_api, + inventory_to_read, + parse_date_str, + parse_datetime_str, + plan_to_read, + weighing_to_read, +) +from app.services.db.weighing_logic import process_weighing_business_logic +from app.services.db.product_helpers import ( + apply_product_snapshot_to_weighing, + resolve_crm_product, +) + +router = APIRouter(prefix="/weighing", tags=["weighing"]) + +_WEIGHING_REMARK_FIELD = "remarks" + + +def _base_query(db: Session, tenant_no: str): + return db.query(DbWeighingSlip).filter( + DbWeighingSlip.tenant_no == tenant_no, + DbWeighingSlip.del_flag == 0, + DbWeighingSlip.is_voided == 0, + ) + + +def _get_weighing(db: Session, tenant_no: str, weighing_id: str) -> DbWeighingSlip: + row = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.id == weighing_id, + DbWeighingSlip.tenant_no == tenant_no, + DbWeighingSlip.del_flag == 0, + ) + .one_or_none() + ) + if row is None: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Weighing {weighing_id} not found", + ) + return row + + +def _apply_weighing_product_update( + db: Session, tenant_no: str, row: DbWeighingSlip, payload_dict: dict +) -> None: + if "cargo_name" in payload_dict and "product_id" not in payload_dict: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="请从 CRM 重新选择产品", + ) + product_id = payload_dict.pop("product_id", None) + payload_dict.pop("cargo_name", None) + payload_dict.pop("specification", None) + if product_id is not None: + snapshot = resolve_crm_product(db, tenant_no, product_id) + apply_product_snapshot_to_weighing(row, snapshot) + + +def _apply_weighing_update(row: DbWeighingSlip, payload_dict: dict) -> None: + for key, value in payload_dict.items(): + if key == _WEIGHING_REMARK_FIELD: + if isinstance(value, str): + value = value.strip() + row.remark = value + continue + if key in {"gross_weight_time", "tare_weight_time"}: + if value is None or (isinstance(value, str) and not str(value).strip()): + if key == "tare_weight_time": + row.tare_weight_time = None + else: + parsed = parse_datetime_str(str(value)) + if parsed: + setattr(row, key, parsed) + continue + if isinstance(value, str): + value = value.strip() + setattr(row, key, value) + + +@router.get("/", response_model=list[WeighingSlipRead]) +def list_weighing( + q: Optional[str] = Query(default=None, description="模糊搜索关键词"), + date_from: Optional[str] = Query(default=None, alias="dateFrom", description="开始日期"), + date_to: Optional[str] = Query(default=None, alias="dateTo", description="结束日期"), + plan_no: Optional[str] = Query(default=None, alias="planNo", description="计划号"), + batch_no: Optional[str] = Query(default=None, alias="batchNo", description="出入库单号"), + vehicle_no: Optional[str] = Query(default=None, alias="vehicleNo", description="车牌号"), + cargo_name: Optional[str] = Query(default=None, alias="cargoName", description="货物名称"), + supplier: Optional[str] = Query(default=None, description="供货单位"), + consignee: Optional[str] = Query(default=None, description="收货单位"), + business_type: Optional[str] = Query(default=None, alias="businessType", description="业务类型"), + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> list[WeighingSlipRead]: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + query = _base_query(db, tenant_no).order_by(DbWeighingSlip.gross_weight_time.desc()) + + if q: + keyword = q.lower() + query = query.filter( + or_( + func.lower(DbWeighingSlip.vehicle_no).contains(keyword), + func.lower(DbWeighingSlip.plan_no).contains(keyword), + func.lower(DbWeighingSlip.batch_no).contains(keyword), + func.lower(DbWeighingSlip.cargo_name).contains(keyword), + func.lower(DbWeighingSlip.supplier).contains(keyword), + func.lower(DbWeighingSlip.consignee).contains(keyword), + ) + ) + + if date_from: + start_date = parse_date_str(date_from) + if start_date: + query = query.filter( + DbWeighingSlip.gross_weight_time >= datetime.combine(start_date, datetime.min.time()) + ) + + if date_to: + end_date = parse_date_str(date_to) + if end_date: + query = query.filter(DbWeighingSlip.gross_weight_time <= datetime_end_of_day(end_date)) + + if plan_no: + query = query.filter(DbWeighingSlip.plan_no.contains(plan_no)) + + if batch_no: + query = query.filter(DbWeighingSlip.batch_no.contains(batch_no)) + + if vehicle_no: + query = query.filter(DbWeighingSlip.vehicle_no.contains(vehicle_no)) + + if cargo_name: + query = query.filter(DbWeighingSlip.cargo_name.contains(cargo_name)) + + if supplier: + query = query.filter(func.lower(DbWeighingSlip.supplier).contains(supplier.lower())) + + if consignee: + query = query.filter(func.lower(DbWeighingSlip.consignee).contains(consignee.lower())) + + if business_type: + query = query.filter(DbWeighingSlip.business_type == business_type) + + weighings = query.all() + inventory_ids = [w.inbound_outbound_id for w in weighings if w.inbound_outbound_id] + inventory_date_map: dict[str, str] = {} + if inventory_ids: + inventories = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.id.in_(inventory_ids), + DbInboundOutbound.del_flag == 0, + ) + .all() + ) + for inventory in inventories: + inventory_date_map[inventory.id] = inventory_date_to_api(inventory.date) + + return [ + weighing_to_read( + weighing, + inventory_date=inventory_date_map.get(weighing.inbound_outbound_id or ""), + ) + for weighing in weighings + ] + + +@router.post("/", response_model=WeighingSlipRead, status_code=status.HTTP_201_CREATED) +def create_weighing( + payload: WeighingSlipCreate, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> WeighingSlipRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + inbound_outbound_id = payload.inbound_outbound_id + + if inbound_outbound_id: + existing = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.inbound_outbound_id == inbound_outbound_id, + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + ) + .first() + ) + if existing: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="该出入库单已经存在关联的地磅单,无法重复创建", + ) + + planned_quantity = payload.planned_quantity + current_quantity = payload.current_quantity + purchase_plan_id = payload.purchase_plan_id + batch_no = payload.batch_no.strip() if payload.batch_no else None + + if inbound_outbound_id: + inventory = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.id == inbound_outbound_id, + DbInboundOutbound.tenant_no == tenant_no, + DbInboundOutbound.del_flag == 0, + ) + .one_or_none() + ) + if inventory: + if current_quantity is None: + current_quantity = inventory.quantity * 1000 + if purchase_plan_id is None and inventory.purchase_plan_id: + purchase_plan_id = inventory.purchase_plan_id + if purchase_plan_id: + plan = ( + db.query(DbPurchasePlan) + .filter(DbPurchasePlan.id == purchase_plan_id) + .one_or_none() + ) + if plan and planned_quantity is None: + planned_quantity = plan.planned_quantity * 1000 + if not batch_no and inventory.batch_no: + batch_no = inventory.batch_no + + gross_time = parse_datetime_str(payload.gross_weight_time) if payload.gross_weight_time else None + tare_time = ( + parse_datetime_str(payload.tare_weight_time) + if payload.tare_weight_time and payload.tare_weight_time.strip() + else None + ) + + snapshot = resolve_crm_product(db, tenant_no, payload.product_id) + + row = DbWeighingSlip( + id=generate_uuid(), + tenant_no=tenant_no, + vehicle_no=payload.vehicle_no.strip(), + plan_no=payload.plan_no.strip() if payload.plan_no else None, + business_type=payload.business_type, + batch_no=batch_no, + supplier=payload.supplier.strip(), + consignee=payload.consignee.strip(), + gross_weight=payload.gross_weight or 0, + gross_weight_time=gross_time or datetime.now(), + tare_weight=payload.tare_weight or 0, + tare_weight_time=tare_time, + deduction=payload.deduction or 0, + net_weight=payload.net_weight or 0, + planned_quantity=planned_quantity, + executed_quantity=payload.executed_quantity, + purchase_plan_id=purchase_plan_id, + inbound_outbound_id=inbound_outbound_id, + weighing_point=payload.weighing_point or "山峡化工", + remark=payload.remarks, + current_quantity=current_quantity, + is_voided=0, + create_by=user.id, + create_dept_id=user.dept_id, + ) + apply_product_snapshot_to_weighing(row, snapshot) + db.add(row) + db.commit() + db.refresh(row) + + process_weighing_business_logic(db, row) + db.refresh(row) + return weighing_to_read(row) + + +@router.get("/{id}", response_model=WeighingSlipRead) +def get_weighing( + id: str, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> WeighingSlipRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + row = _get_weighing(db, tenant_no, id) + return weighing_to_read(row) + + +@router.patch("/{id}", response_model=WeighingSlipRead) +def update_weighing( + id: str, + payload: WeighingSlipUpdate, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> WeighingSlipRead: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + row = _get_weighing(db, tenant_no, id) + + if row.is_voided == 1: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Cannot update voided weighing record", + ) + + payload_dict = payload.model_dump(exclude_unset=True) + _apply_weighing_product_update(db, tenant_no, row, payload_dict) + _apply_weighing_update(row, payload_dict) + row.update_by = user.id + db.commit() + db.refresh(row) + + process_weighing_business_logic(db, row) + db.refresh(row) + return weighing_to_read(row) + + +@router.post("/{id}/void", status_code=status.HTTP_204_NO_CONTENT) +def void_weighing( + 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_weighing(db, tenant_no, id) + + if row.is_voided == 1: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Weighing record is already voided", + ) + + row.is_voided = 1 + row.update_by = user.id + db.commit() + process_weighing_business_logic(db, row) + + +@router.delete("/{id}", status_code=status.HTTP_204_NO_CONTENT) +def delete_weighing( + 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_weighing(db, tenant_no, id) + row.is_voided = 1 + row.update_by = user.id + db.commit() + process_weighing_business_logic(db, row) + + +class WeighingRelatedData(BaseModel): + plan: Optional[PurchasePlanRead] + inventory: Optional[InboundOutboundRead] + + +@router.get("/{id}/related", response_model=WeighingRelatedData) +def get_weighing_related( + id: str, + db: Session = Depends(get_db), + user: DbUserContext = Depends(get_db_current_user), +) -> WeighingRelatedData: + tenant_no = get_tenant_no(db, user.to_tenant_user_dict()) + row = _get_weighing(db, tenant_no, id) + + plan = None + if row.purchase_plan_id: + plan = ( + db.query(DbPurchasePlan) + .filter( + DbPurchasePlan.id == row.purchase_plan_id, + DbPurchasePlan.del_flag == 0, + ) + .one_or_none() + ) + elif row.plan_no: + plan = ( + db.query(DbPurchasePlan) + .filter( + DbPurchasePlan.plan_no == row.plan_no, + DbPurchasePlan.tenant_no == tenant_no, + DbPurchasePlan.del_flag == 0, + ) + .limit(1) + .first() + ) + + inventory = None + if row.inbound_outbound_id: + inventory = ( + db.query(DbInboundOutbound) + .filter( + DbInboundOutbound.id == row.inbound_outbound_id, + DbInboundOutbound.del_flag == 0, + ) + .one_or_none() + ) + + return WeighingRelatedData( + plan=plan_to_read(plan) if plan else None, + inventory=inventory_to_read(inventory) if inventory else None, + ) diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 05310683b..46d802e1b 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -140,6 +140,7 @@ class Settings(BaseSettings): "/api/web/admin/users/upload-avatar," "/api/invoice/download," "/api/bx/health," + "/api/db/health," "/api/expense-items," "/api/workflows," "/api/advances," diff --git a/backend/app/core/db_auth.py b/backend/app/core/db_auth.py new file mode 100644 index 000000000..c7168a5c1 --- /dev/null +++ b/backend/app/core/db_auth.py @@ -0,0 +1,71 @@ +"""地磅模块认证适配:门户 JWT 用户 → db 业务上下文。""" +from __future__ import annotations + +from dataclasses import dataclass +from typing import Any, Dict, Optional + +from fastapi import Depends, HTTPException +from fastapi.security import OAuth2PasswordBearer +from sqlalchemy.orm import Session + +from app.core.auth import get_current_user_by_token +from app.core.database import get_db +from app.core.menu_guard import ADMIN_ROLES, require_admin_or_super_admin + +optional_oauth2_scheme = OAuth2PasswordBearer( + tokenUrl="/api/public/login", + auto_error=False, +) + + +@dataclass +class DbUserContext: + """db Router/Service 使用的当前用户上下文。""" + + id: str + name: str + dept_id: str + role: str + tenant_no: str + + def to_tenant_user_dict(self) -> Dict[str, Any]: + return { + "user_id": self.id, + "role": self.role, + "tenant_no": self.tenant_no, + } + + +def get_db_current_user( + user: dict = Depends(require_admin_or_super_admin), +) -> DbUserContext: + return DbUserContext( + id=(user.get("user_id") or "").strip(), + name=(user.get("real_name") or user.get("username") or "").strip(), + dept_id=(user.get("region_id") or "").strip(), + role=(user.get("role") or "").strip(), + tenant_no=(user.get("tenant_no") or "").strip(), + ) + + +async def get_db_current_user_optional( + token: Optional[str] = Depends(optional_oauth2_scheme), + db: Session = Depends(get_db), +) -> DbUserContext | None: + """有 Bearer 且为 admin/super_admin 时返回上下文,否则 None(供三方 H5 无登录调用)。""" + if not token: + return None + try: + user = await get_current_user_by_token(token, db) + except HTTPException: + return None + role = user.get("role") + if role not in ADMIN_ROLES: + return None + return DbUserContext( + id=(user.get("user_id") or "").strip(), + name=(user.get("real_name") or user.get("username") or "").strip(), + dept_id=(user.get("region_id") or "").strip(), + role=(role or "").strip(), + tenant_no=(user.get("tenant_no") or "").strip(), + ) diff --git a/backend/app/main.py b/backend/app/main.py index e1c952d8c..06ac5c477 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -14,6 +14,7 @@ from app.core.api_request_log_middleware import ApiRequestLogMiddleware from app.core.api_crypto_middleware import ApiCryptoMiddleware from app.models import models # noqa: F401 import app.models.bx_models # noqa: F401 +import app.models.db_models # noqa: F401 from app.api import ( public_router, menu_router, @@ -23,6 +24,7 @@ from app.api import ( crm_router, monitor_router, bx_router, + db_router, ) @@ -115,6 +117,7 @@ app.include_router(workflow_router, prefix=settings.API_V1_PREFIX) app.include_router(leave_router, prefix=settings.API_V1_PREFIX) app.include_router(crm_router, prefix=settings.API_V1_PREFIX) app.include_router(bx_router, prefix=settings.API_V1_PREFIX) +app.include_router(db_router, prefix=settings.API_V1_PREFIX) app.include_router(monitor_router, prefix=settings.API_V1_PREFIX) diff --git a/backend/app/models/db_models.py b/backend/app/models/db_models.py new file mode 100644 index 000000000..4b73c0db9 --- /dev/null +++ b/backend/app/models/db_models.py @@ -0,0 +1,141 @@ +"""地磅(db)模块数据模型 — 对齐 docs/sql/db_tables.sql""" +from datetime import datetime + +from sqlalchemy import Column, Date, DateTime, Float, Integer, SmallInteger, String + +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" + + id = Column(String(64), primary_key=True, comment="主键ID(UUID)") + plan_no = Column(String(255), nullable=True, comment="计划号") + plan_date = Column(Date, nullable=False, comment="计划日期") + start_date = Column(Date, nullable=True, comment="开始时间") + end_date = Column(Date, nullable=True, comment="结束时间") + business_type = Column(String(255), nullable=False, comment="业务类型") + product_id = Column(String(64), nullable=True, comment="CRM产品ID") + product = Column(String(255), nullable=False, comment="产品名称") + specification = Column(String(255), nullable=True, comment="规格") + planned_quantity = Column(Float, nullable=False, comment="计划数量(t)") + vehicle_no = Column(String(255), nullable=True, default="", comment="车牌号") + customer_name = Column(String(255), nullable=True, comment="往来单位") + execution_status = Column(String(50), nullable=True, comment="执行状态") + executed_at = Column(DateTime, nullable=True, comment="执行时间") + last_weighing_slip_id = Column(String(64), nullable=True, comment="最后关联地磅单ID") + executed_quantity = Column(Float, nullable=True, default=0, comment="已执行量(kg)") + auto_generate_enabled = Column(SmallInteger, nullable=False, default=0, comment="是否自动按月生成") + auto_generate_end_month = Column(String(7), nullable=True, comment="自动生成结束月份") + auto_generate_last_month = Column(String(7), nullable=True, 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 DbInboundOutbound(Base): + __tablename__ = "db_inbound_outbound" + + id = Column(String(64), primary_key=True, comment="主键ID(租户内纯数字字符串)") + date = Column(Date, nullable=False, comment="日期") + partner_company = Column(String(255), nullable=False, comment="往来单位") + business_type = Column(String(255), nullable=False, comment="业务类型") + product_id = Column(String(64), nullable=True, comment="CRM产品ID") + product = Column(String(255), nullable=False, comment="产品") + specification = Column(String(255), nullable=True, comment="规格") + quantity = Column(Float, nullable=False, comment="本次量(t)") + plan_no = Column(String(255), nullable=True, comment="计划号") + batch_no = Column(String(255), nullable=True, comment="批次号") + vehicle_no = Column(String(255), nullable=False, comment="车牌号") + status = Column(String(50), nullable=True, comment="状态") + purchase_plan_id = Column(String(64), nullable=True, comment="关联计划ID") + 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 DbWeighingSlip(Base): + __tablename__ = "db_weighing_slip" + + id = Column(String(64), primary_key=True, comment="主键ID(UUID)") + vehicle_no = Column(String(255), nullable=False, comment="车号") + plan_no = Column(String(255), nullable=True, comment="计划单号") + product_id = Column(String(64), nullable=True, comment="CRM产品ID") + cargo_name = Column(String(255), nullable=False, comment="货物名称") + specification = Column(String(255), nullable=True, comment="规格") + business_type = Column(String(255), nullable=False, comment="业务类型") + batch_no = Column(String(255), nullable=True, comment="批次号") + supplier = Column(String(255), nullable=False, comment="供货单位") + consignee = Column(String(255), nullable=False, comment="收货单位") + gross_weight = Column(Float, nullable=False, comment="毛重(kg)") + gross_weight_time = Column(DateTime, nullable=False, comment="毛重时间") + tare_weight = Column(Float, nullable=False, comment="皮重(kg)") + tare_weight_time = Column(DateTime, nullable=True, comment="皮重时间") + deduction = Column(Float, nullable=True, default=0, comment="扣杂(kg)") + net_weight = Column(Float, nullable=False, comment="净重(kg)") + planned_quantity = Column(Float, nullable=True, comment="计划数量(kg)") + executed_quantity = Column(Float, nullable=True, comment="执行数量(kg)") + purchase_plan_id = Column(String(64), nullable=True, comment="关联计划ID") + inbound_outbound_id = Column(String(64), nullable=True, comment="关联出入库单ID") + weighing_point = Column(String(255), nullable=True, default="山峡地磅", comment="称重点") + current_quantity = Column(Float, nullable=True, comment="本次量(kg)") + is_voided = Column(SmallInteger, nullable=False, default=0, 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 DbSequence(Base): + """租户内业务序号(并发安全自增)。""" + + __tablename__ = "db_sequence" + + id = Column(String(64), primary_key=True, comment="主键ID(UUID)") + tenant_no = Column(String(64), nullable=False, comment="租户编号") + seq_name = Column(String(64), nullable=False, comment="序号名称") + next_val = Column(Integer, nullable=False, comment="下一个待分配序号") + update_time = Column( + DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间" + ) diff --git a/backend/app/schemas/db/__init__.py b/backend/app/schemas/db/__init__.py new file mode 100644 index 000000000..fcec89772 --- /dev/null +++ b/backend/app/schemas/db/__init__.py @@ -0,0 +1 @@ +"""地磅(db)Pydantic schemas — 对齐原 simple-dibang-xiaoshou 契约。""" diff --git a/backend/app/schemas/db/dashboard.py b/backend/app/schemas/db/dashboard.py new file mode 100644 index 000000000..8df15c1e4 --- /dev/null +++ b/backend/app/schemas/db/dashboard.py @@ -0,0 +1,23 @@ +from __future__ import annotations + +from pydantic import BaseModel, Field + + +class DashboardStats(BaseModel): + today_inbound: float = Field(alias="todayInbound") + today_outbound: float = Field(alias="todayOutbound") + abnormal_orders: int = Field(alias="abnormalOrders") + + model_config = {"populate_by_name": True} + + +class DashboardCargoStat(BaseModel): + label: str + planned: float + actual: float + + +class DashboardPartnerCargoStat(BaseModel): + label: str + planned: float + actual: float diff --git a/backend/app/schemas/db/inventory.py b/backend/app/schemas/db/inventory.py new file mode 100644 index 000000000..ed856ca66 --- /dev/null +++ b/backend/app/schemas/db/inventory.py @@ -0,0 +1,75 @@ +from typing import Optional + +from pydantic import BaseModel, Field + + +class InboundOutboundBase(BaseModel): + date: str = Field(max_length=255) + partner_company: str = Field(max_length=255, alias="partnerCompany") + business_type: str = Field(max_length=255, alias="businessType") + product_id: Optional[str] = Field(default=None, alias="productId") + product: str = Field(max_length=255) + specification: Optional[str] = Field(default=None, max_length=255) + quantity: float = Field() + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + vehicle_no: str = Field(max_length=255, alias="vehicleNo") + status: Optional[str] = Field(default=None, max_length=50) + remarks: Optional[str] = Field(default=None) + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + + model_config = {"from_attributes": True, "populate_by_name": True} + + +class InboundOutboundCreate(BaseModel): + date: str = Field(max_length=255) + partner_company: str = Field(max_length=255, alias="partnerCompany") + business_type: str = Field(max_length=255, alias="businessType") + product_id: str = Field(alias="productId") + quantity: float = Field() + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + vehicle_no: str = Field(max_length=255, alias="vehicleNo") + status: Optional[str] = Field(default=None, max_length=50) + remarks: Optional[str] = Field(default=None) + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + + model_config = {"populate_by_name": True} + + +class InboundOutboundUpdate(BaseModel): + date: Optional[str] = Field(default=None, max_length=255) + partner_company: Optional[str] = Field(default=None, max_length=255, alias="partnerCompany") + business_type: Optional[str] = Field(default=None, max_length=255, alias="businessType") + product_id: Optional[str] = Field(default=None, alias="productId") + product: Optional[str] = Field(default=None, max_length=255) + specification: Optional[str] = Field(default=None, max_length=255) + quantity: Optional[float] = Field(default=None) + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + vehicle_no: Optional[str] = Field(default=None, max_length=255, alias="vehicleNo") + status: Optional[str] = Field(default=None, max_length=50) + remarks: Optional[str] = Field(default=None) + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + + model_config = {"populate_by_name": True} + + +class CreateLinkForPlanPayload(BaseModel): + purchase_plan_id: str = Field(alias="purchasePlanId") + remarks: Optional[str] = None + + model_config = {"populate_by_name": True} + + +class InboundOutboundRead(InboundOutboundBase): + id: str + is_deleted: int = Field(default=0, alias="isDeleted") + created_at: str = Field(alias="createdAt") + gross_weight: Optional[float] = Field(default=None, alias="grossWeight") + tare_weight: Optional[float] = Field(default=None, alias="tareWeight") + deduction: Optional[float] = Field(default=None) + net_weight: Optional[float] = Field(default=None, alias="netWeight") + gross_weight_time: Optional[str] = Field(default=None, alias="grossWeightTime") + tare_weight_time: Optional[str] = Field(default=None, alias="tareWeightTime") + has_weighing_slip: bool = Field(default=False, alias="hasWeighingSlip") diff --git a/backend/app/schemas/db/master_data.py b/backend/app/schemas/db/master_data.py new file mode 100644 index 000000000..b0c53d9e9 --- /dev/null +++ b/backend/app/schemas/db/master_data.py @@ -0,0 +1,25 @@ +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/schemas/db/plans.py b/backend/app/schemas/db/plans.py new file mode 100644 index 000000000..73d2ee5b7 --- /dev/null +++ b/backend/app/schemas/db/plans.py @@ -0,0 +1,89 @@ +from typing import Optional + +from pydantic import BaseModel, Field + + +class PurchasePlanBase(BaseModel): + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + plan_date: str = Field(max_length=255, alias="planDate") + start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate") + end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate") + business_type: str = Field(max_length=255, alias="businessType") + product_id: Optional[str] = Field(default=None, alias="productId") + product: str = Field(max_length=255) + specification: Optional[str] = Field(default=None, max_length=255) + planned_quantity: float = Field(alias="plannedQuantity") + vehicle_no: Optional[str] = Field(default="", max_length=255, alias="vehicleNo") + customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName") + remarks: Optional[str] = Field(default=None) + execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus") + executed_at: Optional[str] = Field(default=None, max_length=255, alias="executedAt") + last_weighing_slip_id: Optional[str] = Field(default=None, alias="lastWeighingSlipId") + executed_quantity: Optional[float] = Field(default=0, alias="executedQuantity") + auto_generate_enabled: int = Field(default=0, alias="autoGenerateEnabled") + auto_generate_end_month: Optional[str] = Field( + default=None, max_length=7, alias="autoGenerateEndMonth" + ) + auto_generate_last_month: Optional[str] = Field( + default=None, max_length=7, alias="autoGenerateLastMonth" + ) + + model_config = {"from_attributes": True, "populate_by_name": True} + + +class PurchasePlanCreate(BaseModel): + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + plan_date: str = Field(max_length=255, alias="planDate") + start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate") + end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate") + business_type: str = Field(max_length=255, alias="businessType") + product_id: str = Field(alias="productId") + planned_quantity: float = Field(alias="plannedQuantity") + vehicle_no: Optional[str] = Field(default="", max_length=255, alias="vehicleNo") + customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName") + remarks: Optional[str] = Field(default=None) + execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus") + auto_generate_enabled: Optional[int] = Field(default=0, alias="autoGenerateEnabled") + auto_generate_end_month: Optional[str] = Field( + default=None, max_length=7, alias="autoGenerateEndMonth" + ) + + model_config = {"populate_by_name": True} + + +class PurchasePlanUpdate(BaseModel): + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + plan_date: Optional[str] = Field(default=None, max_length=255, alias="planDate") + start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate") + end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate") + business_type: Optional[str] = Field(default=None, max_length=255, alias="businessType") + product_id: Optional[str] = Field(default=None, alias="productId") + product: Optional[str] = Field(default=None, max_length=255) + specification: Optional[str] = Field(default=None, max_length=255) + planned_quantity: Optional[float] = Field(default=None, alias="plannedQuantity") + vehicle_no: Optional[str] = Field(default=None, max_length=255, alias="vehicleNo") + customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName") + remarks: Optional[str] = Field(default=None) + execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus") + executed_at: Optional[str] = Field(default=None, max_length=255, alias="executedAt") + last_weighing_slip_id: Optional[str] = Field(default=None, alias="lastWeighingSlipId") + executed_quantity: Optional[float] = Field(default=None, alias="executedQuantity") + auto_generate_enabled: Optional[int] = Field(default=None, alias="autoGenerateEnabled") + auto_generate_end_month: Optional[str] = Field( + default=None, max_length=7, alias="autoGenerateEndMonth" + ) + auto_generate_last_month: Optional[str] = Field( + default=None, max_length=7, alias="autoGenerateLastMonth" + ) + + model_config = {"populate_by_name": True} + + +class PurchasePlanRead(PurchasePlanBase): + id: str + is_deleted: int = Field(default=0, alias="isDeleted") + created_at: str = Field(alias="createdAt") + + +class PurchasePlanWithFillLink(PurchasePlanRead): + fill_link_inventory_id: Optional[str] = Field(default=None, alias="fillLinkInventoryId") diff --git a/backend/app/schemas/db/weighing.py b/backend/app/schemas/db/weighing.py new file mode 100644 index 000000000..ebb54790d --- /dev/null +++ b/backend/app/schemas/db/weighing.py @@ -0,0 +1,90 @@ +from typing import Optional + +from pydantic import BaseModel, Field + + +class WeighingSlipBase(BaseModel): + vehicle_no: str = Field(max_length=255, alias="vehicleNo") + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + product_id: Optional[str] = Field(default=None, alias="productId") + cargo_name: str = Field(max_length=255, alias="cargoName") + specification: Optional[str] = Field(default=None, max_length=255) + business_type: str = Field(max_length=255, alias="businessType") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + supplier: str = Field(max_length=255) + consignee: str = Field(max_length=255) + gross_weight: float = Field(alias="grossWeight") + gross_weight_time: str = Field(max_length=255, alias="grossWeightTime") + tare_weight: float = Field(alias="tareWeight") + tare_weight_time: str = Field(max_length=255, alias="tareWeightTime") + deduction: Optional[float] = Field(default=0) + net_weight: float = Field(alias="netWeight") + planned_quantity: Optional[float] = Field(default=None, alias="plannedQuantity") + executed_quantity: Optional[float] = Field(default=None, alias="executedQuantity") + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + inbound_outbound_id: Optional[str] = Field(default=None, alias="inboundOutboundId") + weighing_point: Optional[str] = Field(default="山峡地磅", max_length=255, alias="weighingPoint") + remarks: Optional[str] = Field(default=None) + current_quantity: Optional[float] = Field(default=None, alias="currentQuantity") + + model_config = {"from_attributes": True, "populate_by_name": True} + + +class WeighingSlipCreate(BaseModel): + vehicle_no: str = Field(max_length=255, alias="vehicleNo") + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + product_id: str = Field(alias="productId") + business_type: str = Field(max_length=255, alias="businessType") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + supplier: str = Field(max_length=255) + consignee: str = Field(max_length=255) + gross_weight: float = Field(default=0, alias="grossWeight") + gross_weight_time: str = Field(default="", max_length=255, alias="grossWeightTime") + tare_weight: float = Field(default=0, alias="tareWeight") + tare_weight_time: str = Field(default="", max_length=255, alias="tareWeightTime") + deduction: Optional[float] = Field(default=0) + net_weight: float = Field(default=0, alias="netWeight") + planned_quantity: Optional[float] = Field(default=None, alias="plannedQuantity") + executed_quantity: Optional[float] = Field(default=None, alias="executedQuantity") + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + inbound_outbound_id: Optional[str] = Field(default=None, alias="inboundOutboundId") + weighing_point: Optional[str] = Field(default="山峡地磅", max_length=255, alias="weighingPoint") + remarks: Optional[str] = Field(default=None) + current_quantity: Optional[float] = Field(default=None, alias="currentQuantity") + + model_config = {"populate_by_name": True} + + +class WeighingSlipUpdate(BaseModel): + vehicle_no: Optional[str] = Field(default=None, max_length=255, alias="vehicleNo") + plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo") + product_id: Optional[str] = Field(default=None, alias="productId") + cargo_name: Optional[str] = Field(default=None, max_length=255, alias="cargoName") + specification: Optional[str] = Field(default=None, max_length=255) + business_type: Optional[str] = Field(default=None, max_length=255, alias="businessType") + batch_no: Optional[str] = Field(default=None, max_length=255, alias="batchNo") + supplier: Optional[str] = Field(default=None, max_length=255) + consignee: Optional[str] = Field(default=None, max_length=255) + gross_weight: Optional[float] = Field(default=None, alias="grossWeight") + gross_weight_time: Optional[str] = Field(default=None, max_length=255, alias="grossWeightTime") + tare_weight: Optional[float] = Field(default=None, alias="tareWeight") + tare_weight_time: Optional[str] = Field(default=None, max_length=255, alias="tareWeightTime") + deduction: Optional[float] = Field(default=None) + net_weight: Optional[float] = Field(default=None, alias="netWeight") + planned_quantity: Optional[float] = Field(default=None, alias="plannedQuantity") + executed_quantity: Optional[float] = Field(default=None, alias="executedQuantity") + purchase_plan_id: Optional[str] = Field(default=None, alias="purchasePlanId") + inbound_outbound_id: Optional[str] = Field(default=None, alias="inboundOutboundId") + weighing_point: Optional[str] = Field(default=None, max_length=255, alias="weighingPoint") + remarks: Optional[str] = Field(default=None) + current_quantity: Optional[float] = Field(default=None, alias="currentQuantity") + is_voided: Optional[int] = Field(default=None, alias="isVoided") + + model_config = {"populate_by_name": True} + + +class WeighingSlipRead(WeighingSlipBase): + id: str + is_voided: int = Field(default=0, alias="isVoided") + created_at: str = Field(alias="createdAt") + inventory_date: Optional[str] = Field(default=None, alias="inventoryDate") diff --git a/backend/app/services/db/__init__.py b/backend/app/services/db/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/backend/app/services/db/auto_generate_plans.py b/backend/app/services/db/auto_generate_plans.py new file mode 100644 index 000000000..ae3cba62c --- /dev/null +++ b/backend/app/services/db/auto_generate_plans.py @@ -0,0 +1,139 @@ +"""地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_plan.py""" +from __future__ import annotations + +import logging +from datetime import date, datetime, timedelta + +from sqlalchemy import and_, or_ +from sqlalchemy.orm import Session + +from app.core.utils import generate_uuid +from app.models.db_models import DbPurchasePlan +from app.services.db.plan_helpers import default_execution_status, generate_plan_no + +logger = logging.getLogger(__name__) + + +def month_range(dt: date) -> tuple[date, date]: + """返回 dt 所在月份的首日、末日。""" + first = dt.replace(day=1) + if first.month == 12: + next_month = first.replace(year=first.year + 1, month=1, day=1) + else: + next_month = first.replace(month=first.month + 1, day=1) + last = next_month - timedelta(days=1) + return first, last + + +def get_last_month_range(now: date) -> tuple[date, date]: + """返回上个月的首日、末日。""" + first_this, _ = month_range(now) + last_prev = first_this - timedelta(days=1) + return month_range(last_prev) + + +def run_auto_generate_monthly_plans( + db: Session, + *, + force: bool = False, + now: date | None = None, +) -> dict: + """ + 按月自动生成采购计划。 + + - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) + - 遍历所有租户,按上月计划模板生成本月计划 + """ + today = now or date.today() + + if today.day != 1 and not force: + logger.info("当前不是每月 1 日且未 force,跳过自动生成计划") + return { + "created_count": 0, + "skipped_reason": "not_first_day_of_month", + "current_month": today.strftime("%Y-%m"), + } + + current_month = today.strftime("%Y-%m") + this_month_first, this_month_last = month_range(today) + last_month_first, last_month_last = get_last_month_range(today) + + logger.info( + "开始执行自动生成计划任务,current_month=%s, last_month=[%s, %s], this_month=[%s, %s], force=%s", + current_month, + last_month_first, + last_month_last, + this_month_first, + this_month_last, + force, + ) + + plans = ( + db.query(DbPurchasePlan) + .filter( + and_( + DbPurchasePlan.del_flag == 0, + DbPurchasePlan.auto_generate_enabled == 1, + or_( + DbPurchasePlan.auto_generate_last_month.is_(None), + DbPurchasePlan.auto_generate_last_month != current_month, + ), + or_( + DbPurchasePlan.auto_generate_end_month.is_(None), + DbPurchasePlan.auto_generate_end_month >= current_month, + ), + DbPurchasePlan.start_date == last_month_first, + DbPurchasePlan.end_date == last_month_last, + ) + ) + .all() + ) + + if not plans: + logger.info("未找到需要自动生成下月计划的记录") + return { + "created_count": 0, + "skipped_reason": None, + "current_month": current_month, + } + + logger.info("找到 %d 条可自动生成的上月计划", len(plans)) + created_count = 0 + + for source in plans: + new_plan = DbPurchasePlan( + id=generate_uuid(), + tenant_no=source.tenant_no, + plan_no=generate_plan_no(), + plan_date=this_month_first, + start_date=this_month_first, + end_date=this_month_last, + business_type=source.business_type, + product_id=source.product_id, + product=source.product, + specification=source.specification, + planned_quantity=source.planned_quantity, + vehicle_no=source.vehicle_no or "", + customer_name=source.customer_name, + remark=source.remark, + execution_status=default_execution_status(source.business_type), + executed_at=None, + last_weighing_slip_id=None, + executed_quantity=0, + auto_generate_enabled=source.auto_generate_enabled, + auto_generate_end_month=source.auto_generate_end_month, + auto_generate_last_month=None, + create_by=None, + create_dept_id="", + ) + db.add(new_plan) + source.auto_generate_last_month = current_month + created_count += 1 + + db.commit() + logger.info("本次自动生成完成,共生成 %d 条新计划", created_count) + return { + "created_count": created_count, + "skipped_reason": None, + "current_month": current_month, + } diff --git a/backend/app/services/db/inventory_id.py b/backend/app/services/db/inventory_id.py new file mode 100644 index 000000000..878f1b933 --- /dev/null +++ b/backend/app/services/db/inventory_id.py @@ -0,0 +1,87 @@ +"""出入库单 id 生成 — 租户内纯数字自增,并发安全。""" +from __future__ import annotations + +from sqlalchemy import text +from sqlalchemy.exc import IntegrityError +from sqlalchemy.orm import Session + +from app.core.utils import generate_uuid +from app.models.db_models import DbInboundOutbound, DbSequence + +SEQ_NAME_INBOUND_OUTBOUND = "inbound_outbound" +_NUMERIC_ID_PATTERN = r"^[0-9]+$" + + +def max_numeric_inbound_outbound_id(db: Session, tenant_no: str) -> int: + """当前租户下纯数字 id 的最大值(不含 UUID 等非数字主键)。""" + result = db.execute( + text( + """ + SELECT COALESCE(MAX(CAST(id AS UNSIGNED)), 0) AS max_id + FROM db_inbound_outbound + WHERE tenant_no = :tenant_no + AND del_flag = 0 + AND id REGEXP :pattern + """ + ), + {"tenant_no": tenant_no, "pattern": _NUMERIC_ID_PATTERN}, + ).scalar() + return int(result or 0) + + +def _ensure_sequence_row(db: Session, tenant_no: str) -> None: + exists = ( + db.query(DbSequence.id) + .filter( + DbSequence.tenant_no == tenant_no, + DbSequence.seq_name == SEQ_NAME_INBOUND_OUTBOUND, + ) + .first() + ) + if exists: + return + + initial_next = max_numeric_inbound_outbound_id(db, tenant_no) + 1 + db.add( + DbSequence( + id=generate_uuid(), + tenant_no=tenant_no, + seq_name=SEQ_NAME_INBOUND_OUTBOUND, + next_val=initial_next, + ) + ) + db.flush() + + +def _allocate_inbound_outbound_id(db: Session, tenant_no: str) -> str: + _ensure_sequence_row(db, tenant_no) + row = ( + db.query(DbSequence) + .filter( + DbSequence.tenant_no == tenant_no, + DbSequence.seq_name == SEQ_NAME_INBOUND_OUTBOUND, + ) + .with_for_update() + .one() + ) + assigned = int(row.next_val) + row.next_val = assigned + 1 + db.flush() + return str(assigned) + + +def next_inbound_outbound_id(db: Session, tenant_no: str) -> str: + """ + 分配下一条出入库单 id(纯数字字符串)。 + 使用 db_sequence 行锁 + next_val 递增,避免并发下重复 id。 + """ + last_error: IntegrityError | None = None + for _ in range(3): + try: + return _allocate_inbound_outbound_id(db, tenant_no) + except IntegrityError as exc: + db.rollback() + last_error = exc + if last_error is not None: + raise last_error + return _allocate_inbound_outbound_id(db, tenant_no) diff --git a/backend/app/services/db/mappers.py b/backend/app/services/db/mappers.py new file mode 100644 index 000000000..7d2edcc71 --- /dev/null +++ b/backend/app/services/db/mappers.py @@ -0,0 +1,196 @@ +"""地磅 ORM → API Read 模型映射。""" +from __future__ import annotations + +from datetime import date, datetime, time + +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.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 + + +def fmt_date(value: date | datetime | str | None) -> str | None: + if value is None: + return None + if isinstance(value, datetime): + return value.strftime("%Y-%m-%d") + if isinstance(value, date): + return value.strftime("%Y-%m-%d") + return str(value) + + +def fmt_datetime(value: datetime | str | None) -> str | None: + if value is None: + return None + if isinstance(value, datetime): + return format_datetime(value) + 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, + planNo=row.plan_no, + planDate=fmt_date(row.plan_date) or "", + startDate=fmt_date(row.start_date), + endDate=fmt_date(row.end_date), + businessType=row.business_type, + productId=row.product_id, + product=row.product, + specification=row.specification, + plannedQuantity=row.planned_quantity, + vehicleNo=row.vehicle_no or "", + customerName=row.customer_name, + remarks=row.remark, + executionStatus=row.execution_status, + executedAt=fmt_datetime(row.executed_at), + lastWeighingSlipId=row.last_weighing_slip_id, + executedQuantity=( + executed_quantity if executed_quantity is not None else (row.executed_quantity or 0) + ), + autoGenerateEnabled=row.auto_generate_enabled or 0, + autoGenerateEndMonth=row.auto_generate_end_month, + autoGenerateLastMonth=row.auto_generate_last_month, + isDeleted=row.del_flag, + createdAt=format_datetime(row.create_time) or "", + ) + + +def plan_to_read_with_fill_link( + row: DbPurchasePlan, + *, + executed_quantity: float | None = None, + fill_link_inventory_id: str | None = None, +) -> PurchasePlanWithFillLink: + base = plan_to_read(row, executed_quantity=executed_quantity) + return PurchasePlanWithFillLink( + **base.model_dump(by_alias=False), + fill_link_inventory_id=fill_link_inventory_id, + ) + + +def is_empty_inventory_date(value: date | None) -> bool: + return value is None or value == EMPTY_INVENTORY_DATE + + +def inventory_date_to_api(value: date | None) -> str: + if is_empty_inventory_date(value): + return "" + return fmt_date(value) or "" + + +def inventory_to_read( + row: DbInboundOutbound, + *, + weighing: DbWeighingSlip | None = None, +) -> InboundOutboundRead: + gross_weight = None + tare_weight = None + deduction = None + net_weight = None + gross_weight_time = None + tare_weight_time = None + has_weighing_slip = False + if weighing: + gross_weight = weighing.gross_weight + tare_weight = weighing.tare_weight + deduction = weighing.deduction + net_weight = weighing.net_weight + gross_weight_time = fmt_datetime(weighing.gross_weight_time) + tare_time = fmt_datetime(weighing.tare_weight_time) + tare_weight_time = tare_time if tare_time and tare_time.strip() else None + has_weighing_slip = True + + return InboundOutboundRead( + id=row.id, + date=inventory_date_to_api(row.date), + partnerCompany=row.partner_company, + businessType=row.business_type, + productId=row.product_id, + product=row.product, + specification=row.specification, + quantity=row.quantity, + planNo=row.plan_no, + batchNo=row.batch_no, + vehicleNo=row.vehicle_no, + status=row.status, + remarks=row.remark, + purchasePlanId=row.purchase_plan_id, + isDeleted=row.del_flag, + createdAt=format_datetime(row.create_time) or "", + grossWeight=gross_weight, + tareWeight=tare_weight, + deduction=deduction, + netWeight=net_weight, + grossWeightTime=gross_weight_time, + tareWeightTime=tare_weight_time, + hasWeighingSlip=has_weighing_slip, + ) + + +def weighing_to_read(row: DbWeighingSlip, *, inventory_date: str | None = None) -> WeighingSlipRead: + return WeighingSlipRead( + id=row.id, + vehicleNo=row.vehicle_no, + planNo=row.plan_no, + productId=row.product_id, + cargoName=row.cargo_name, + specification=row.specification, + businessType=row.business_type, + batchNo=row.batch_no, + supplier=row.supplier, + consignee=row.consignee, + grossWeight=row.gross_weight, + grossWeightTime=fmt_datetime(row.gross_weight_time) or "", + tareWeight=row.tare_weight, + tareWeightTime=fmt_datetime(row.tare_weight_time) or "", + deduction=row.deduction, + netWeight=row.net_weight, + plannedQuantity=row.planned_quantity, + executedQuantity=row.executed_quantity, + purchasePlanId=row.purchase_plan_id, + inboundOutboundId=row.inbound_outbound_id, + weighingPoint=row.weighing_point, + remarks=row.remark, + currentQuantity=row.current_quantity, + isVoided=row.is_voided, + createdAt=format_datetime(row.create_time) or "", + inventoryDate=inventory_date, + ) + + +def datetime_end_of_day(value: date) -> datetime: + return datetime.combine(value, time(23, 59, 59)) + + +def parse_date_str(value: str | None) -> date | None: + if not value: + return None + try: + return datetime.strptime(value[:10], "%Y-%m-%d").date() + except ValueError: + return None + + +def parse_datetime_str(value: str | None) -> datetime | None: + if not value: + return None + for fmt in ("%Y-%m-%d %H:%M:%S", "%Y-%m-%dT%H:%M:%S", "%Y-%m-%d"): + try: + return datetime.strptime(value[:19] if fmt != "%Y-%m-%d" else value[:10], fmt) + except ValueError: + continue + return None diff --git a/backend/app/services/db/plan_helpers.py b/backend/app/services/db/plan_helpers.py new file mode 100644 index 000000000..c09a777dd --- /dev/null +++ b/backend/app/services/db/plan_helpers.py @@ -0,0 +1,14 @@ +"""地磅计划辅助函数。""" +from __future__ import annotations + +from datetime import datetime + + +def generate_plan_no() -> str: + """生成计划号:SX-YYYYMMDDHHMMSS001""" + now = datetime.now() + return f"SX-{now.strftime('%Y%m%d%H%M%S')}001" + + +def default_execution_status(business_type: str) -> str: + return "待入库" if business_type == "入库" else "待出库" diff --git a/backend/app/services/db/product_helpers.py b/backend/app/services/db/product_helpers.py new file mode 100644 index 000000000..0a07cd6c3 --- /dev/null +++ b/backend/app/services/db/product_helpers.py @@ -0,0 +1,66 @@ +"""地磅模块 — CRM 产品解析与快照写入。""" +from __future__ import annotations + +from dataclasses import dataclass + +from fastapi import HTTPException, status +from sqlalchemy.orm import Session + +from app.crud.crm.product import get_product + + +@dataclass(frozen=True) +class ProductSnapshot: + product_id: str + product_name: str + specification: str | None + + +def resolve_crm_product(db: Session, tenant_no: str, product_id: str) -> ProductSnapshot: + """校验 CRM 产品并返回名称/规格快照。新建单据 product_id 必填。""" + pid = (product_id or "").strip() + if not pid: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="请选择 CRM 产品", + ) + + row = get_product(db, pid) + if row is None or row.tenant_no != tenant_no: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="产品不存在或不可用", + ) + if row.status != "on": + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="产品已下架,请重新选择", + ) + + name = (row.product_name or "").strip() + if not name: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="产品名称无效", + ) + + model = (row.model or "").strip() or None + return ProductSnapshot(product_id=row.id, product_name=name, specification=model) + + +def apply_product_snapshot_to_plan(plan, snapshot: ProductSnapshot) -> None: + plan.product_id = snapshot.product_id + plan.product = snapshot.product_name + plan.specification = snapshot.specification + + +def apply_product_snapshot_to_inventory(row, snapshot: ProductSnapshot) -> None: + row.product_id = snapshot.product_id + row.product = snapshot.product_name + row.specification = snapshot.specification + + +def apply_product_snapshot_to_weighing(row, snapshot: ProductSnapshot) -> None: + row.product_id = snapshot.product_id + row.cargo_name = snapshot.product_name + row.specification = snapshot.specification diff --git a/backend/app/services/db/weighing_logic.py b/backend/app/services/db/weighing_logic.py new file mode 100644 index 000000000..51e6b292f --- /dev/null +++ b/backend/app/services/db/weighing_logic.py @@ -0,0 +1,124 @@ +"""地磅单联动业务逻辑 — 迁移自 simple-dibang-xiaoshou weighing._process_weighing_business_logic。""" +from __future__ import annotations + +from datetime import datetime + +from sqlalchemy import or_ +from sqlalchemy.orm import Session + +from app.models.db_models import DbInboundOutbound, DbPurchasePlan, DbWeighingSlip + + +def _has_weight_time(value: datetime | str | None) -> bool: + if value is None: + return False + if isinstance(value, datetime): + return True + return bool(str(value).strip()) + + +def process_weighing_business_logic(db: Session, weighing: DbWeighingSlip) -> None: + """ + 处理地磅单的业务逻辑: + 1. 更新计划单的已执行量(单位:kg) + 2. 更新出入库单的状态 + 3. 重新计算地磅单的 executed_quantity(按创建时间顺序累计) + """ + plan_ids_to_process: set[str] = set() + inventory_ids_to_process: set[str] = set() + + if weighing.purchase_plan_id: + plan_ids_to_process.add(weighing.purchase_plan_id) + + if weighing.inbound_outbound_id: + inventory_ids_to_process.add(weighing.inbound_outbound_id) + + if weighing.plan_no: + plans = ( + db.query(DbPurchasePlan) + .filter( + DbPurchasePlan.plan_no == weighing.plan_no, + DbPurchasePlan.del_flag == 0, + DbPurchasePlan.tenant_no == weighing.tenant_no, + ) + .all() + ) + for plan in plans: + plan_ids_to_process.add(plan.id) + + for plan_id in plan_ids_to_process: + plan = db.query(DbPurchasePlan).filter(DbPurchasePlan.id == plan_id).one_or_none() + if not plan: + continue + + plan_weighings = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + DbWeighingSlip.tenant_no == plan.tenant_no, + or_( + DbWeighingSlip.plan_no == plan.plan_no, + DbWeighingSlip.purchase_plan_id == plan.id, + ), + ) + .order_by(DbWeighingSlip.create_time.asc()) + .all() + ) + + total_executed = sum(w.net_weight for w in plan_weighings if w.net_weight) + plan.executed_quantity = total_executed + + planned_quantity_kg = plan.planned_quantity * 1000 + if total_executed >= planned_quantity_kg: + plan.execution_status = "已入库" if plan.business_type == "入库" else "已出库" + elif total_executed > 0: + plan.execution_status = "入库中" if plan.business_type == "入库" else "出库中" + else: + plan.execution_status = "待入库" if plan.business_type == "入库" else "待出库" + + db.commit() + db.refresh(plan) + + cumulative_executed = 0.0 + for slip in plan_weighings: + cumulative_executed += slip.net_weight if slip.net_weight else 0.0 + slip.executed_quantity = cumulative_executed + db.commit() + + for inventory_id in inventory_ids_to_process: + inventory = ( + db.query(DbInboundOutbound) + .filter(DbInboundOutbound.id == inventory_id) + .one_or_none() + ) + if not inventory: + continue + + related_weighings = ( + db.query(DbWeighingSlip) + .filter( + DbWeighingSlip.inbound_outbound_id == inventory_id, + DbWeighingSlip.is_voided == 0, + DbWeighingSlip.del_flag == 0, + ) + .all() + ) + + all_complete = ( + len(related_weighings) > 0 + and all( + _has_weight_time(w.gross_weight_time) and _has_weight_time(w.tare_weight_time) + for w in related_weighings + ) + ) + + if all_complete: + inventory.status = "已完成" + else: + inventory.status = ( + "待入库" if inventory.business_type == "入库" else "待出库" + ) + + db.commit() + db.refresh(inventory) diff --git a/backend/app/tasks/__init__.py b/backend/app/tasks/__init__.py index 40ec02469..1a268d133 100644 --- a/backend/app/tasks/__init__.py +++ b/backend/app/tasks/__init__.py @@ -20,6 +20,7 @@ def init_scheduled_tasks(get_db_session): remind_customer_recycle, warn_customer_recycle, ) + from app.tasks.db_auto_plan import auto_generate_monthly_plans_job scheduler.add_job( check_customer_protect_time, @@ -27,6 +28,12 @@ def init_scheduled_tasks(get_db_session): id="check_customer_protect_time", replace_existing=True, ) + scheduler.add_job( + auto_generate_monthly_plans_job, + "cron", day=1, hour=1, minute=30, + id="db_auto_generate_monthly_plans", + replace_existing=True, + ) scheduler.add_job( remind_customer_recycle, "cron", hour=9, minute=0, @@ -47,6 +54,7 @@ def init_scheduled_tasks(get_db_session): ) logger.info( "已注册定时任务: check_customer_protect_time(01:00), " + "db_auto_generate_monthly_plans(每月1日01:30), " "pool_recovery_job(02:00), remind_customer_recycle(09:00), " "warn_customer_recycle(10:00)" ) diff --git a/backend/app/tasks/db_auto_plan.py b/backend/app/tasks/db_auto_plan.py new file mode 100644 index 000000000..5e2757a0a --- /dev/null +++ b/backend/app/tasks/db_auto_plan.py @@ -0,0 +1,26 @@ +"""地磅计划按月自动生成定时任务""" +import logging + +from app.core.database import SessionLocal +from app.services.db.auto_generate_plans import run_auto_generate_monthly_plans + +logger = logging.getLogger(__name__) + + +def auto_generate_monthly_plans_job(): + """每月 1 日凌晨执行:按上月计划模板生成本月计划。""" + db = SessionLocal() + try: + logger.info("======== 开始执行地磅计划按月自动生成任务 ========") + result = run_auto_generate_monthly_plans(db, force=False) + logger.info( + "======== 地磅计划按月自动生成任务完成:created=%s, month=%s, skipped=%s ========", + result.get("created_count"), + result.get("current_month"), + result.get("skipped_reason"), + ) + except Exception: + db.rollback() + logger.exception("地磅计划按月自动生成任务异常") + finally: + db.close() diff --git a/backend/graphify-out/.graphify_labels.json b/backend/graphify-out/.graphify_labels.json index 7ffda0739..a0a8db74a 100644 --- a/backend/graphify-out/.graphify_labels.json +++ b/backend/graphify-out/.graphify_labels.json @@ -128,5 +128,9 @@ "126": "Community 126", "127": "Community 127", "128": "Community 128", - "129": "Community 129" + "129": "Community 129", + "130": "Community 130", + "131": "Community 131", + "132": "Community 132", + "133": "Community 133" } diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index fce275f4e..488bc6a46 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ -# Graph Report - backend (2026-06-06) +# Graph Report - backend (2026-06-09) ## Corpus Check -- 149 files · ~105,173 words +- 174 files · ~114,294 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 3047 nodes · 20600 edges · 130 communities (125 shown, 5 thin omitted) -- Extraction: 47% EXTRACTED · 53% INFERRED · 0% AMBIGUOUS · INFERRED: 10854 edges (avg confidence: 0.51) +- 3328 nodes · 21999 edges · 134 communities (129 shown, 5 thin omitted) +- Extraction: 48% EXTRACTED · 52% INFERRED · 0% AMBIGUOUS · INFERRED: 11419 edges (avg confidence: 0.51) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `f9676f87` +- Built from commit: `725774ef` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -129,7 +129,6 @@ - [[_COMMUNITY_Community 119|Community 119]] - [[_COMMUNITY_Community 120|Community 120]] - [[_COMMUNITY_Community 121|Community 121]] -- [[_COMMUNITY_Community 122|Community 122]] - [[_COMMUNITY_Community 123|Community 123]] - [[_COMMUNITY_Community 124|Community 124]] - [[_COMMUNITY_Community 125|Community 125]] @@ -137,16 +136,20 @@ - [[_COMMUNITY_Community 127|Community 127]] - [[_COMMUNITY_Community 128|Community 128]] - [[_COMMUNITY_Community 129|Community 129]] +- [[_COMMUNITY_Community 130|Community 130]] +- [[_COMMUNITY_Community 131|Community 131]] +- [[_COMMUNITY_Community 132|Community 132]] +- [[_COMMUNITY_Community 133|Community 133]] ## God Nodes (most connected - your core abstractions) -1. `BaseModel` - 281 edges +1. `BaseModel` - 301 edges 2. `Session` - 256 edges 3. `success_response()` - 246 edges 4. `Session` - 243 edges 5. `error_response()` - 234 edges -6. `SysUser` - 180 edges -7. `get_tenant_no()` - 170 edges -8. `generate_uuid()` - 114 edges +6. `get_tenant_no()` - 201 edges +7. `SysUser` - 180 edges +8. `generate_uuid()` - 128 edges 9. `int` - 111 edges 10. `CustomerListBody` - 108 edges @@ -162,67 +165,67 @@ - `int` --uses--> `BxUserContext` [INFERRED] app/api/bx/workflow.py → app/core/bx_auth.py -## Communities (130 total, 5 thin omitted) +## Communities (134 total, 5 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.25 Nodes (27): Any, bool, CRM 公海池规则 CRUD + 规则执行逻辑, int, Session, str, generate_uuid(), create_pool_rule() (+19 more) ### Community 1 - "Community 1" -Cohesion: 0.14 -Nodes (28): Any, Any, bool, str, WfProcessInstance, Any, bool, Session (+20 more) +Cohesion: 0.08 +Nodes (100): register_contract_routes(), register_contract_sub_routes(), Any, bool, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), Decimal, int, Session (+92 more) ### Community 2 - "Community 2" -Cohesion: 0.23 -Nodes (10): Any, bool, int, Session, str, camel_to_snake(), CRUDBase, get_model_attr() (+2 more) +Cohesion: 0.22 +Nodes (18): bytes, int, str, download_file_bytes(), file_stream(), get_access_url(), get_download_url(), get_preview_url() (+10 more) ### Community 3 - "Community 3" 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) ### Community 4 - "Community 4" -Cohesion: 0.14 -Nodes (41): Any, bool, CRM 产品模块 CRUD(产品分类 + 产品 + 附件), int, Session, str, barcode_exists(), _build_category_tree() (+33 more) +Cohesion: 0.20 +Nodes (29): bool, CRM 产品模块 CRUD(产品分类 + 产品 + 附件), Session, str, barcode_exists(), category_code_exists(), _category_row_to_dict(), create_category() (+21 more) ### Community 5 - "Community 5" -Cohesion: 0.14 -Nodes (5): bool, BaseStorage, OSSStorage, QiniuStorage, 文件存储工具模块 支持多种存储方式: 1. 本地存储 (local) - 默认 2. 七牛云存储 (qiniu) - 推荐生产环境使用 3. 阿里云OSS ( +Cohesion: 0.10 +Nodes (33): BxUserContext, Session, str, Any, str, bool, BxUserContext, int (+25 more) ### Community 6 - "Community 6" -Cohesion: 0.11 -Nodes (72): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post(), create_role_management(), create_site() (+64 more) +Cohesion: 0.09 +Nodes (96): attachment_download_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post(), create_role_management() (+88 more) ### Community 7 - "Community 7" -Cohesion: 0.22 -Nodes (9): create_new_version(), Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id (+1 more) +Cohesion: 0.23 +Nodes (15): Any, bool, bytes, int, Request, str, _claims_from_auth(), _format_body_bytes() (+7 more) ### Community 8 - "Community 8" -Cohesion: 0.11 -Nodes (50): Session, str, Any, bool, int, Session, str, Any (+42 more) +Cohesion: 0.15 +Nodes (34): Session, str, Any, bool, int, Session, str, apply_data_scope() (+26 more) ### Community 9 - "Community 9" -Cohesion: 0.33 -Nodes (15): Any, int, Session, str, BizLeaveRequest, create_leave(), get_leave(), list_leaves() (+7 more) +Cohesion: 0.22 +Nodes (11): Any, bool, int, Session, str, bool, camel_to_snake(), CRUDBase (+3 more) ### Community 10 - "Community 10" -Cohesion: 0.08 -Nodes (68): Any, bool, CrmContract, datetime, int, Query, Session, str (+60 more) +Cohesion: 0.09 +Nodes (55): Any, bool, datetime, int, Session, str, _advance_contract_after_approval(), approve_contract() (+47 more) ### Community 11 - "Community 11" Cohesion: 0.05 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 12 - "Community 12" -Cohesion: 0.15 -Nodes (52): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, 审批意见:前端传 commentText,兼容 comment。, StartInstanceBody, TaskActionBody, Any, int (+44 more) +Cohesion: 0.11 +Nodes (73): Any, ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, 审批意见:前端传 commentText,兼容 comment。, StartInstanceBody, TaskActionBody, Any (+65 more) ### Community 13 - "Community 13" Cohesion: 0.36 Nodes (213): Any, bool, str, UploadFile, CRM 线索管理 Pydantic Schemas, CRM 商机管理 Pydantic Schemas, CRM 客户公海池规则 Pydantic Schemas, CRM 产品模块 Pydantic Schemas (+205 more) ### Community 14 - "Community 14" -Cohesion: 0.17 -Nodes (45): Any, bool, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作), CrmCustomer, date, datetime, float, int (+37 more) +Cohesion: 0.20 +Nodes (36): Any, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作), CrmCustomer, datetime, int, Session, str, assign_customer() (+28 more) ### Community 15 - "Community 15" Cohesion: 0.08 @@ -233,12 +236,12 @@ Cohesion: 0.12 Nodes (31): CRM 报价单 API 路由 — 挂接到 crm.router, CRM 报价单 Pydantic Schemas, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody, QuoteApprovalRefreshNamesBody, QuoteApprovalWithdrawBody, QuoteCreateBody (+23 more) ### Community 17 - "Community 17" -Cohesion: 0.11 -Nodes (59): BxUserContext, int, Session, str, BxUserContext, int, Session, str (+51 more) +Cohesion: 0.21 +Nodes (40): BxUserContext, int, Session, str, int, Session, str, ApiResponse (+32 more) ### Community 18 - "Community 18" -Cohesion: 0.17 -Nodes (34): Any, bool, int, Session, str, SysUser, create_user(), get_user() (+26 more) +Cohesion: 0.18 +Nodes (32): Any, bool, int, Session, str, SysUser, create_user(), get_user() (+24 more) ### Community 19 - "Community 19" Cohesion: 0.23 @@ -249,16 +252,16 @@ Cohesion: 0.37 Nodes (17): check_env(), check_python(), create_venv(), init_env(), install_dependencies(), log_error(), log_info(), log_success() (+9 more) ### Community 21 - "Community 21" -Cohesion: 0.34 -Nodes (16): Any, int, Session, str, _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept() (+8 more) +Cohesion: 0.20 +Nodes (20): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave() (+12 more) ### Community 22 - "Community 22" -Cohesion: 0.18 -Nodes (19): str, Any, bool, Session, str, StreamingResponse, CRM 模块 Excel 导出列定义(字段与字典类型对齐 Java *Vo @ExcelDictFormat)。, _yes_no() (+11 more) +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) ### Community 23 - "Community 23" -Cohesion: 0.13 -Nodes (17): CrmContract, contract_row_to_dict(), _parse_letter_oss_ids_from_tier(), Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, ORM → camelCase(单点真相) (+9 more) +Cohesion: 0.24 +Nodes (50): InboundOutboundRead, bool, DbPurchasePlan, DbUserContext, PurchasePlanRead, PurchasePlanWithFillLink, Session, str (+42 more) ### Community 24 - "Community 24" Cohesion: 0.29 @@ -273,8 +276,8 @@ 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 27 - "Community 27" -Cohesion: 0.16 -Nodes (31): Any, bool, int, Session, str, Any, Session, str (+23 more) +Cohesion: 0.26 +Nodes (20): Any, bool, int, Session, str, create_follow(), _enrich_follow_dict(), _follow_row_to_dict() (+12 more) ### Community 28 - "Community 28" Cohesion: 0.23 @@ -289,16 +292,16 @@ Cohesion: 0.40 Nodes (3): BaseSettings, Config, Settings ### Community 36 - "Community 36" -Cohesion: 0.27 -Nodes (14): Any, bool, bytes, int, str, ApiCryptoError, _b64url_decode(), _b64url_encode() (+6 more) +Cohesion: 0.23 +Nodes (16): bool, int, Redis, Request, str, _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client() (+8 more) ### Community 37 - "Community 37" -Cohesion: 0.08 -Nodes (46): str, ContractApprovalPageListBody, 全局审批记录分页(approval/index.vue), CustomerFollowByCustomerBody, CustomerFollowDetailBody, BaseModel, AttachmentUploadResponse, ChangePasswordRequest (+38 more) +Cohesion: 0.22 +Nodes (16): Any, bool, bytes, int, str, ApiCryptoError, _b64url_decode(), _b64url_encode() (+8 more) ### Community 38 - "Community 38" -Cohesion: 0.26 -Nodes (21): approve_task(), _business_type_label(), create_process_def(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields(), get_designer_data() (+13 more) +Cohesion: 0.19 +Nodes (34): DbInboundOutbound, DbUserContext, Session, str, CreateLinkForPlanPayload, _apply_inventory_product_update(), _apply_inventory_update(), _base_query() (+26 more) ### Community 39 - "Community 39" Cohesion: 0.20 @@ -317,48 +320,48 @@ Cohesion: 0.34 Nodes (16): Any, bool, int, Session, str, create_dict_type(), dict_type_code_exists(), get_dict_type() (+8 more) ### Community 43 - "Community 43" -Cohesion: 0.30 -Nodes (11): bool, BxUserContext, BxWorkflowNode, int, Session, str, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。, WorkflowService (+3 more) +Cohesion: 0.35 +Nodes (17): Any, bool, int, Session, str, _build_tree(), _cascade_soft_delete(), create_menu() (+9 more) ### Community 44 - "Community 44" -Cohesion: 0.22 -Nodes (16): Any, bool, bytes, int, Request, str, _claims_from_auth(), _format_body_bytes() (+8 more) +Cohesion: 0.33 +Nodes (14): BxUserContext, Session, str, UploadFile, AttachmentOut, bind_biz(), delete_attachment(), download_file() (+6 more) ### Community 45 - "Community 45" -Cohesion: 0.29 -Nodes (34): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, str, BatchOffsetRequest (+26 more) +Cohesion: 0.18 +Nodes (40): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, str, BatchOffsetRequest (+32 more) ### Community 46 - "Community 46" -Cohesion: 0.05 -Nodes (83): _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 基线) (+75 more) +Cohesion: 0.12 +Nodes (32): date, str, Session, str, format_datetime(), fmt_date(), fmt_datetime(), inventory_date_to_api() (+24 more) ### Community 47 - "Community 47" -Cohesion: 0.20 -Nodes (25): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+17 more) +Cohesion: 0.21 +Nodes (23): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+15 more) ### Community 48 - "Community 48" -Cohesion: 0.07 -Nodes (52): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, ContractApprovalActionBody, ContractApprovalApproveBody, ContractApprovalByContractBody, ContractApprovalExportBody (+44 more) +Cohesion: 0.03 +Nodes (114): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, CRM 合同子模块路由 — 变更/模板/审批独立页, str, CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, CRM 客户管理 Pydantic Schemas, ContactByCustomerBody, ContactDetailBody, ContactSetPrimaryBody (+106 more) ### Community 49 - "Community 49" -Cohesion: 0.29 -Nodes (29): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, MenuCreateBody (+21 more) +Cohesion: 0.12 +Nodes (9): bool, int, str, BaseStorage, MinIOStorage, OSSStorage, QiniuStorage, MinIO 预签名下载 URL,携带原始文件名。 (+1 more) ### Community 50 - "Community 50" -Cohesion: 0.14 -Nodes (22): _error_json(), lifespan(), _mask_secret(), Exception, int, Request, str, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin (+14 more) +Cohesion: 0.11 +Nodes (27): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, _error_json(), lifespan(), _mask_secret(), Exception, int, Request, str (+19 more) ### Community 51 - "Community 51" Cohesion: 0.16 Nodes (13): 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 (+5 more) ### Community 52 - "Community 52" -Cohesion: 0.33 -Nodes (6): int, Config, LeaveCreate, LeaveResponse, LeaveUpdate, Pydantic schemas - 请假申请 +Cohesion: 0.06 +Nodes (76): _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 基线) (+68 more) ### Community 53 - "Community 53" -Cohesion: 0.28 -Nodes (20): Any, bool, date, int, Session, str, _contact_row_to_dict(), create_contact() (+12 more) +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 54 - "Community 54" Cohesion: 0.34 @@ -369,8 +372,8 @@ Cohesion: 0.34 Nodes (16): Any, bool, int, Session, str, create_tenant(), get_tenant(), list_tenants() (+8 more) ### Community 56 - "Community 56" -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 (31): CrmContract, Query, CrmContract, CrmContractProductPriceTier, date, datetime, Query, contract_row_to_dict() (+23 more) ### Community 57 - "Community 57" Cohesion: 0.11 @@ -385,48 +388,48 @@ Cohesion: 0.19 Nodes (32): Any, bool, CrmContractProductPriceTier, date, Decimal, int, Session, str (+24 more) ### Community 61 - "Community 61" -Cohesion: 0.11 -Nodes (27): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave() (+19 more) +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) ### Community 62 - "Community 62" -Cohesion: 0.35 -Nodes (17): Any, bool, int, Session, str, _build_tree(), _cascade_soft_delete(), create_menu() (+9 more) +Cohesion: 0.23 +Nodes (26): 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() (+18 more) ### Community 63 - "Community 63" -Cohesion: 0.17 -Nodes (30): Any, bool, int, Session, str, date, Query, approve_quote() (+22 more) +Cohesion: 0.18 +Nodes (26): Any, bool, int, Session, str, approve_quote(), can_user_approve(), create_approval_records() (+18 more) ### Community 65 - "Community 65" Cohesion: 0.12 Nodes (16): invoice_info_list(), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价) (+8 more) ### Community 68 - "Community 68" -Cohesion: 0.33 -Nodes (14): BxUserContext, Session, str, UploadFile, AttachmentOut, bind_biz(), delete_attachment(), download_file() (+6 more) +Cohesion: 0.29 +Nodes (7): Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, renew_contract() ### Community 69 - "Community 69" Cohesion: 0.19 Nodes (45): Any, CRM 商机 CRUD(主表 + 阶段/赢输单/统计/看板/漏斗), date, datetime, Decimal, int, Session, str (+37 more) ### Community 70 - "Community 70" -Cohesion: 0.33 -Nodes (14): Any, int, Session, str, create_dict_data(), get_dict_data(), list_dict_data(), list_dict_data_options() (+6 more) +Cohesion: 0.34 +Nodes (16): Any, int, Session, str, _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept() (+8 more) ### Community 71 - "Community 71" -Cohesion: 0.40 -Nodes (5): _product_row_to_dict(), 产品 ORM 对象转 dict(camelCase 键名), 产品 ORM 对象转 dict(camelCase 键名), 产品 ORM 对象转 dict(camelCase 键名), 产品 ORM 对象转 dict(camelCase 键名) +Cohesion: 0.14 +Nodes (17): Any, int, _build_category_tree(), _collect_category_with_ancestors(), list_category_tree(), list_products(), _product_row_to_dict(), 获取产品分类树(嵌套 children,供树形表格/树选择器使用) (+9 more) ### Community 72 - "Community 72" Cohesion: 0.38 Nodes (15): Any, bool, int, Session, str, create_site(), get_site(), list_sites() (+7 more) ### Community 73 - "Community 73" -Cohesion: 0.33 -Nodes (6): bx_health(), P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。 +Cohesion: 0.24 +Nodes (27): Engine, build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str(), main() (+19 more) ### Community 74 - "Community 74" -Cohesion: 0.08 -Nodes (99): register_contract_routes(), Any, bool, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), Decimal, int, Session, str (+91 more) +Cohesion: 0.30 +Nodes (9): Any, bool, int, M, Session, str, BxCrudService, 报销模块 Service 基类 — 租户隔离 + UUID + 软删除。 (+1 more) ### Community 75 - "Community 75" Cohesion: 0.16 @@ -437,28 +440,28 @@ Cohesion: 0.35 Nodes (19): Any, bool, datetime, int, Session, str, create_opportunity_follow(), get_opportunity_follow() (+11 more) ### Community 78 - "Community 78" -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) +Cohesion: 0.22 +Nodes (9): Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus (+1 more) ### Community 79 - "Community 79" Cohesion: 0.22 -Nodes (9): generate_contract_name(), Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName (+1 more) - -### Community 80 - "Community 80" -Cohesion: 0.22 Nodes (9): generate_contract_no(), Java: generateContractNo — {供方编码}/X-JT + yyyyMMdd + 3位流水, Java: generateContractNo — {供方编码}/X-JT + yyyyMMdd + 3位流水, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号}, Java: generateContractNo — {供方编码}/X-JT{yyyyMMdd}{3位序号} (+1 more) +### Community 80 - "Community 80" +Cohesion: 0.33 +Nodes (15): Any, int, Session, str, BizLeaveRequest, create_leave(), get_leave(), list_leaves() (+7 more) + ### Community 81 - "Community 81" -Cohesion: 0.22 -Nodes (18): bytes, int, str, download_file_bytes(), file_stream(), get_access_url(), get_download_url(), get_preview_url() (+10 more) +Cohesion: 0.23 +Nodes (26): DbUserContext, DbWeighingSlip, Session, str, datetime_end_of_day(), parse_datetime_str(), weighing_to_read(), apply_product_snapshot_to_weighing() (+18 more) ### Community 82 - "Community 82" Cohesion: 0.33 Nodes (11): SysOss, int, Session, str, SysOss, create_oss(), _oss_row_to_dict(), create_oss() (+3 more) ### Community 83 - "Community 83" -Cohesion: 0.14 -Nodes (14): _build_contract_filters(), export_contracts(), Java: queryList for export, Java: queryList for export, Java: queryList for export, Java: queryList for export, Java: buildQueryWrapper, Java: queryList for export (+6 more) +Cohesion: 0.21 +Nodes (16): Any, int, str, BusinessException, InvalidStatusTransitionException, log_api_request(), log_delivery_operation(), log_operation() (+8 more) ### Community 84 - "Community 84" Cohesion: 0.33 @@ -469,183 +472,195 @@ Cohesion: 0.11 Nodes (19): 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list (+11 more) ### Community 86 - "Community 86" -Cohesion: 0.30 -Nodes (8): Any, bool, int, Session, str, BxCrudService, 报销模块 Service 基类 — 租户隔离 + UUID + 软删除。, M +Cohesion: 0.13 +Nodes (14): Java: deleteWithValidByIds — 软删除, Java: deleteWithValidByIds — 软删除, Java: deleteWithValidByIds — 软删除, Java: deleteWithValidByIds — 软删除, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注 (+6 more) ### Community 87 - "Community 87" -Cohesion: 0.20 -Nodes (10): 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove (+2 more) +Cohesion: 0.44 +Nodes (8): bool, int, Session, str, ApiRequestLogCRUD, SysApiRequestLog, SysApiRequestLogHis, SysApiRequestLog ### Community 88 - "Community 88" -Cohesion: 0.21 -Nodes (16): Any, int, str, BusinessException, InvalidStatusTransitionException, log_api_request(), log_delivery_operation(), log_operation() (+8 more) +Cohesion: 0.15 +Nodes (29): DbUserContext, Session, str, Any, Session, str, _auto_fill_create_dept_id(), get_db() (+21 more) ### Community 89 - "Community 89" Cohesion: 0.25 Nodes (8): generate_product_no(), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001), 生成产品编号(格式:CP + yyyyMMdd + 3位序号,如 CP20260530001) ### Community 90 - "Community 90" -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) +Cohesion: 0.09 +Nodes (44): Any, CRM 报价单 CRUD — 对照 CrmQuoteServiceImpl.java(P2 全量), date, datetime, Decimal, Query, _build_quote_filters(), calculate_quote_amount() (+36 more) ### Community 91 - "Community 91" Cohesion: 0.40 Nodes (5): generate_barcode(), 生成唯一条码(纯数字:yyyyMMdd + 6位序号,如 20260606000001), 生成唯一条码(纯数字:yyyyMMdd + 6位序号,如 20260606000001), 生成唯一条码(纯数字:yyyyMMdd + 6位序号,如 20260606000001), 生成唯一条码(纯数字:yyyyMMdd + 6位序号,如 20260606000001) ### Community 92 - "Community 92" -Cohesion: 0.29 -Nodes (7): Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, Java: renewContract — 基础续签, renew_contract() +Cohesion: 0.35 +Nodes (20): DbUserContext, DbVehicle, Session, str, VehicleRead, vehicle_to_read(), VehicleBase, VehicleCreate (+12 more) ### Community 93 - "Community 93" Cohesion: 0.26 Nodes (22): Any, bool, datetime, int, Session, str, BizSampleCode, batch_generate_sample_codes() (+14 more) ### Community 94 - "Community 94" -Cohesion: 0.18 -Nodes (20): Decimal, str, Any, str, derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。 (+12 more) +Cohesion: 0.22 +Nodes (9): create_new_version(), Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id (+1 more) ### Community 95 - "Community 95" Cohesion: 0.13 Nodes (15): generate_auto_product_no(), _get_quote_item_field(), Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: resolveProductIdForQuoteItem(CrmProduct 无 tax_rate,跳过税率匹配), Java: generateAutoProductNo — SXWL + 8位随机大写字符, Java: generateAutoProductNo — SXWL + 8位随机大写字符 (+7 more) ### Community 96 - "Community 96" -Cohesion: 0.21 -Nodes (14): Any, str, bool, BxUserContext, int, Session, str, AttachmentService (+6 more) +Cohesion: 0.28 +Nodes (20): Any, bool, date, int, Session, str, _contact_row_to_dict(), create_contact() (+12 more) ### Community 97 - "Community 97" -Cohesion: 0.10 -Nodes (61): register_quote_routes(), Any, bool, CRM 报价单 CRUD — 对照 CrmQuoteServiceImpl.java(P2 全量), int, Session, str, accept_quote() (+53 more) +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 98 - "Community 98" -Cohesion: 0.26 -Nodes (9): Exception, bytes, str, bytes, BytesIO, convert_heic_to_jpeg(), process_image_content(), 将 HEIC/HEIF 格式转换为 JPEG 格式 (+1 more) +Cohesion: 0.27 +Nodes (9): Exception, bytes, bytes, BytesIO, convert_heic_to_jpeg(), process_image_content(), 文件存储工具模块 支持多种存储方式: 1. 本地存储 (local) - 默认 2. 七牛云存储 (qiniu) - 推荐生产环境使用 3. 阿里云OSS (, 将 HEIC/HEIF 格式转换为 JPEG 格式 (+1 more) ### Community 99 - "Community 99" -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) +Cohesion: 0.33 +Nodes (9): operlog_detail(), operlog_list(), 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), Session, OperLogDetailBody, OperLogListBody, 操作日志(兼容 RuoYi OperLog 视图), OperLogDetailBody (+1 more) ### Community 100 - "Community 100" -Cohesion: 0.36 -Nodes (9): Any, int, Session, str, get_pool_record(), list_pool_records(), _row_to_dict(), total_pages() (+1 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 101 - "Community 101" -Cohesion: 0.18 -Nodes (15): Any, int, Session, str, Base, list_ethnics(), 民族码表 CRUD(全局 sys_ethnic), _row_to_dict() (+7 more) +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 102 - "Community 102" Cohesion: 0.22 -Nodes (9): Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus (+1 more) +Nodes (9): Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend (+1 more) ### Community 103 - "Community 103" -Cohesion: 0.22 -Nodes (17): bool, int, Redis, Request, str, _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client() (+9 more) +Cohesion: 0.28 +Nodes (13): bool, BxUserContext, BxWorkflowNode, int, Session, str, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。, WorkflowService (+5 more) ### Community 104 - "Community 104" -Cohesion: 0.14 -Nodes (25): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+17 more) +Cohesion: 0.13 +Nodes (26): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+18 more) ### Community 105 - "Community 105" -Cohesion: 0.32 -Nodes (10): datetime, int, str, 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, format_datetime(), generate_random_password(), get_current_time(), get_file_size_display() (+2 more) +Cohesion: 0.13 +Nodes (34): datetime, int, str, datetime, int, Session, str, Any (+26 more) ### Community 106 - "Community 106" -Cohesion: 0.29 -Nodes (10): datetime, int, Session, str, BizNoKind, allocate_next_biz_no(), _format_biz_no(), _prefix_for() (+2 more) +Cohesion: 0.18 +Nodes (20): Decimal, str, Any, str, derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。 (+12 more) ### Community 107 - "Community 107" -Cohesion: 0.29 -Nodes (7): batch_submit_contract_approval(), Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval +Cohesion: 0.12 +Nodes (38): register_quote_routes(), bool, int, Session, str, accept_quote(), generate_pdf(), generate_share() (+30 more) ### Community 108 - "Community 108" -Cohesion: 0.18 -Nodes (11): batch_assign_owner(), download_contract_pdf(), Java: batchAssignOwner, Java: downloadContractPdf — 返回合同文件 URL/路径, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner (+3 more) +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 109 - "Community 109" -Cohesion: 0.33 -Nodes (5): str, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义), 优先使用显式 folder;否则按 bizType 映射默认目录。, 优先使用显式 folder;否则按 bizType 映射默认目录。, resolve_upload_folder() - -### Community 111 - "Community 111" -Cohesion: 0.18 -Nodes (5): ContactByCustomerBody, ContactDetailBody, ContactSetPrimaryBody, CRM 联系人 Pydantic Schemas, SoftDeleteModel - -### Community 112 - "Community 112" -Cohesion: 0.29 -Nodes (7): create_from_opportunity(), _opportunity_products_to_contract_products(), Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id - -### Community 113 - "Community 113" Cohesion: 0.35 Nodes (9): check_customer_protect_time(), _execute_single_rule(), _get_all_tenant_nos(), pool_recovery_job(), 公海池自动回收任务(由 APScheduler 调度) 遍历所有租户的启用规则,执行自动回收。, 每天凌晨1点:检查保护期到期客户,跟进次数不足则退回公海, 每天早上9点:保护期到期提醒(3天内到期且跟进不足), remind_customer_recycle() (+1 more) -### Community 114 - "Community 114" -Cohesion: 0.29 -Nodes (7): Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, withdraw_contract_approval() - -### Community 116 - "Community 116" -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 117 - "Community 117" -Cohesion: 0.33 -Nodes (6): datetime, str, _dt_to_str(), PagedQuery, PagedResponse, bx 原系统 API 响应包装(code=0 / msg / data.rows),与门户 success_response 分离。 - -### Community 118 - "Community 118" -Cohesion: 0.09 -Nodes (27): datetime, Decimal, calculate_quote_amount(), _decimal_value(), _parse_optional_datetime(), _period_key(), Java: statisticsOverview, Java: statisticsOverview (+19 more) - -### Community 119 - "Community 119" -Cohesion: 0.29 -Nodes (4): int, MinIOStorage, MinIO 预签名下载 URL,携带原始文件名。, 带下载文件名的访问 URL;默认实现为普通访问地址。 - -### Community 120 - "Community 120" -Cohesion: 0.33 -Nodes (6): Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, Java Controller TODO — 保持 pending,记录备注, submit_change_approval() - -### Community 121 - "Community 121" -Cohesion: 0.44 -Nodes (8): bool, int, Session, str, ApiRequestLogCRUD, SysApiRequestLog, SysApiRequestLogHis, SysApiRequestLog - -### Community 122 - "Community 122" +### Community 111 - "Community 111" Cohesion: 0.38 Nodes (11): Any, int, Session, str, _business_type_from_path(), get_oper_log(), list_oper_logs(), _oper_status() (+3 more) -### Community 123 - "Community 123" +### Community 112 - "Community 112" +Cohesion: 0.22 +Nodes (12): Any, bool, str, WfProcessInstance, _LocalCallbackFn, _dispatch_local(), 工作流回调服务 —— 流程状态变更时通知业务系统, 注册本地回调函数。当 callback_url 以 path 开头时直接调用 fn。 (+4 more) + +### Community 113 - "Community 113" +Cohesion: 0.18 +Nodes (11): batch_assign_owner(), download_contract_pdf(), Java: batchAssignOwner, Java: downloadContractPdf — 返回合同文件 URL/路径, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner (+3 more) + +### Community 114 - "Community 114" +Cohesion: 0.44 +Nodes (11): Any, Session, str, get_follow_statistics(), get_industry_statistics(), get_level_statistics(), get_overview_statistics(), get_owner_statistics() (+3 more) + +### Community 116 - "Community 116" +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 117 - "Community 117" +Cohesion: 0.22 +Nodes (18): Any, int, Session, str, bool, date, float, CrmCustomer (+10 more) + +### Community 118 - "Community 118" +Cohesion: 0.29 +Nodes (7): batch_submit_contract_approval(), Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval, Java: batchSubmitApproval + +### Community 119 - "Community 119" 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) +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 120 - "Community 120" +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 + +### Community 123 - "Community 123" +Cohesion: 0.28 +Nodes (3): Path, LocalStorage, Path ### Community 124 - "Community 124" -Cohesion: 0.29 -Nodes (6): _coerce_optional_id(), WorkflowDefCreate, WorkflowDefOut, WorkflowDefUpdate, WorkflowNodeCreate, WorkflowNodeOut +Cohesion: 0.22 +Nodes (9): generate_contract_name(), Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName (+1 more) ### Community 125 - "Community 125" -Cohesion: 0.29 -Nodes (6): CustomerPoolDetailBody, CustomerPoolListBody, PoolCustomerListBody, PoolRecordDetailBody, PoolRecordListBody, CRM 客户公海池记录 Pydantic Schemas - -### Community 127 - "Community 127" Cohesion: 0.50 Nodes (3): Config, PageResult, ResponseModel +### Community 126 - "Community 126" +Cohesion: 0.33 +Nodes (6): datetime, str, _dt_to_str(), PagedQuery, PagedResponse, bx 原系统 API 响应包装(code=0 / msg / data.rows),与门户 success_response 分离。 + +### Community 127 - "Community 127" +Cohesion: 0.25 +Nodes (7): 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, bx_health(), P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。 + ### Community 128 - "Community 128" -Cohesion: 0.67 -Nodes (3): str, format_api_error_message(), 将 HTTP/SQLAlchemy 等异常转为可展示的错误文案(避免 str([]) 空列表)。 +Cohesion: 0.20 +Nodes (10): 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove (+2 more) ### Community 129 - "Community 129" Cohesion: 0.33 -Nodes (5): CRM 客户管理 Pydantic Schemas, CustomerAssignPoolBody, CustomerCheckDuplicateBody, CustomerDetailBody, CRM 客户管理 CRUD(客户 + 联系人 + 跟进记录) +Nodes (5): str, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义), 优先使用显式 folder;否则按 bizType 映射默认目录。, 优先使用显式 folder;否则按 bizType 映射默认目录。, resolve_upload_folder() + +### Community 130 - "Community 130" +Cohesion: 0.22 +Nodes (9): Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview, Java: statisticsOverview (+1 more) + +### Community 131 - "Community 131" +Cohesion: 0.29 +Nodes (7): create_from_opportunity(), _opportunity_products_to_contract_products(), Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id + +### Community 132 - "Community 132" +Cohesion: 0.29 +Nodes (7): Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, withdraw_contract_approval() + +### Community 133 - "Community 133" +Cohesion: 0.40 +Nodes (5): list_roles_for_designer(), 返回角色下拉选项(label=角色名,value=角色ID UUID),供流程设计器审批人选择使用。 与 /roles 不同,此端点返回角色 UUID, 返回角色下拉选项(label=角色名,value=角色ID UUID),供流程设计器审批人选择使用。 与 /roles 不同,此端点返回角色 UUID, 返回角色下拉选项(label=角色名,value=角色ID UUID),供流程设计器审批人选择使用。 与 /roles 不同,此端点返回角色 UUID, 返回角色下拉选项(label=角色名,value=角色ID UUID),供流程设计器审批人选择使用。 与 /roles 不同,此端点返回角色 UUID ## Knowledge Gaps -- **52 isolated node(s):** `bool`, `bool`, `Config`, `bool`, `bool` (+47 more) +- **57 isolated node(s):** `Any`, `Session`, `bool`, `bool`, `Config` (+52 more) These have ≤1 connection - possible missing edges or undocumented components. - **5 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 `generate_uuid()` connect `Community 0` to `Community 4`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 12`, `Community 14`, `Community 18`, `Community 19`, `Community 21`, `Community 27`, `Community 39`, `Community 40`, `Community 42`, `Community 43`, `Community 46`, `Community 47`, `Community 53`, `Community 54`, `Community 55`, `Community 60`, `Community 62`, `Community 63`, `Community 69`, `Community 70`, `Community 72`, `Community 74`, `Community 75`, `Community 76`, `Community 78`, `Community 82`, `Community 86`, `Community 93`, `Community 95`, `Community 97`, `Community 100`, `Community 104`, `Community 105`, `Community 106`, `Community 113`?** - _High betweenness centrality (0.111) - this node is a cross-community bridge._ -- **Why does `SysUser` connect `Community 101` to `Community 1`, `Community 6`, `Community 8`, `Community 10`, `Community 12`, `Community 14`, `Community 18`, `Community 23`, `Community 38`, `Community 40`, `Community 44`, `Community 46`, `Community 49`, `Community 63`, `Community 69`, `Community 74`, `Community 93`, `Community 97`, `Community 100`, `Community 105`, `Community 118`?** - _High betweenness centrality (0.101) - this node is a cross-community bridge._ -- **Why does `BaseModel` connect `Community 37` to `Community 129`, `Community 12`, `Community 13`, `Community 16`, `Community 17`, `Community 28`, `Community 41`, `Community 45`, `Community 47`, `Community 48`, `Community 49`, `Community 52`, `Community 61`, `Community 68`, `Community 101`, `Community 111`, `Community 117`, `Community 124`, `Community 125`, `Community 127`?** - _High betweenness centrality (0.092) - this node is a cross-community bridge._ +- **Why does `generate_uuid()` connect `Community 0` to `Community 1`, `Community 4`, `Community 8`, `Community 10`, `Community 12`, `Community 14`, `Community 18`, `Community 19`, `Community 27`, `Community 38`, `Community 39`, `Community 40`, `Community 42`, `Community 43`, `Community 46`, `Community 47`, `Community 52`, `Community 54`, `Community 55`, `Community 60`, `Community 62`, `Community 63`, `Community 69`, `Community 70`, `Community 72`, `Community 74`, `Community 75`, `Community 76`, `Community 80`, `Community 81`, `Community 82`, `Community 90`, `Community 92`, `Community 93`, `Community 94`, `Community 95`, `Community 96`, `Community 97`, `Community 100`, `Community 101`, `Community 103`, `Community 104`, `Community 105`, `Community 108`, `Community 109`, `Community 117`?** + _High betweenness centrality (0.118) - this node is a cross-community bridge._ +- **Why does `BaseModel` connect `Community 48` to `Community 5`, `Community 6`, `Community 12`, `Community 13`, `Community 16`, `Community 17`, `Community 21`, `Community 23`, `Community 28`, `Community 38`, `Community 41`, `Community 44`, `Community 45`, `Community 46`, `Community 47`, `Community 81`, `Community 88`, `Community 92`, `Community 99`, `Community 125`, `Community 126`?** + _High betweenness centrality (0.103) - this node is a cross-community bridge._ +- **Why does `SysUser` connect `Community 12` to `Community 1`, `Community 69`, `Community 6`, `Community 8`, `Community 40`, `Community 10`, `Community 107`, `Community 9`, `Community 105`, `Community 14`, `Community 18`, `Community 52`, `Community 117`, `Community 56`, `Community 90`, `Community 93`, `Community 62`, `Community 63`?** + _High betweenness centrality (0.099) - this node is a cross-community bridge._ - **Are the 28 inferred relationships involving `str` (e.g. with `CRUDBase` and `LeaveCreate`) actually correct?** _`str` has 28 INFERRED edges - model-reasoned connections that need verification._ - **Are the 100 inferred relationships involving `Session` (e.g. with `ClueAssignBody` and `ClueConvertBody`) actually correct?** diff --git a/backend/graphify-out/cache/ast/0017a21624f7ea69800984a797350c6f643d08ec5ea4b9876d71bdb6c0671e4a.json b/backend/graphify-out/cache/ast/0017a21624f7ea69800984a797350c6f643d08ec5ea4b9876d71bdb6c0671e4a.json new file mode 100644 index 000000000..37085b754 --- /dev/null +++ b/backend/graphify-out/cache/ast/0017a21624f7ea69800984a797350c6f643d08ec5ea4b9876d71bdb6c0671e4a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L1"}, {"id": "db_plans_purchaseplanbase", "label": "PurchasePlanBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33"}, {"id": "db_plans_purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54"}, {"id": "db_plans_purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81"}, {"id": "db_plans_purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "db_plans_purchaseplanbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplancreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33", "weight": 1.0}, {"source": "db_plans_purchaseplancreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "db_plans_purchaseplanupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81", "weight": 1.0}, {"source": "db_plans_purchaseplanread", "target": "db_plans_purchaseplanbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanwithfilllink", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87", "weight": 1.0}, {"source": "db_plans_purchaseplanwithfilllink", "target": "db_plans_purchaseplanread", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/018be67e8ad9e093b9d9d6bbad62ca7c5d331294fa250a9fc4bc7988a572911b.json b/backend/graphify-out/cache/ast/018be67e8ad9e093b9d9d6bbad62ca7c5d331294fa250a9fc4bc7988a572911b.json new file mode 100644 index 000000000..79840ce29 --- /dev/null +++ b/backend/graphify-out/cache/ast/018be67e8ad9e093b9d9d6bbad62ca7c5d331294fa250a9fc4bc7988a572911b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1"}, {"id": "db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44"}, {"id": "db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52"}, {"id": "db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L189"}, {"id": "db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196"}, {"id": "db_plans_autogeneratemonthlyresult", "label": "AutoGenerateMonthlyResult", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_run_auto_generate_monthly", "label": "run_auto_generate_monthly()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"id": "db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"id": "db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271"}, {"id": "db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301"}, {"id": "db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L315"}, {"id": "db_plans_apply_plan_product_update", "label": "_apply_plan_product_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L329"}, {"id": "db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L345"}, {"id": "db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L366"}, {"id": "db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372"}, {"id": "db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L413"}, {"id": "db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L420"}, {"id": "db_plans_rationale_251", "label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210\uff08\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251"}, {"id": "db_plans_rationale_424", "label": "\u4e09\u65b9 H5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e\uff08\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff0c\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44", "weight": 1.0}, {"source": "db_plans_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44", "weight": 1.0}, {"source": "db_plans_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "purchaseplanwithfilllink", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L52", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L189", "weight": 1.0}, {"source": "db_plans_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L189", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_autogeneratemonthlyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "db_plans_autogeneratemonthlyresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_run_auto_generate_monthly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L271", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L301", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_by_id_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L315", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L315", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L315", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L315", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_product_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L329", "weight": 1.0}, {"source": "db_plans_apply_plan_product_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L329", "weight": 1.0}, {"source": "db_plans_apply_plan_product_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L329", "weight": 1.0}, {"source": "db_plans_apply_plan_product_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L329", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L345", "weight": 1.0}, {"source": "db_plans_apply_plan_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L345", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_planrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L366", "weight": 1.0}, {"source": "db_plans_planrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L366", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L372", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_thirdpartyplanpagedata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L413", "weight": 1.0}, {"source": "db_plans_thirdpartyplanpagedata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L413", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_third_party_plan_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L420", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L420", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L420", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L420", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L75", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "db_plans_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L202", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L210", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L256", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_product_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L280", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L281", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L303", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L407", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_get_plan_by_id_only", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L425", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L471", "weight": 1.0}, {"source": "db_plans_rationale_251", "target": "db_plans_run_auto_generate_monthly", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251", "weight": 1.0}, {"source": "db_plans_rationale_424", "target": "db_plans_get_third_party_plan_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plans_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L45"}, {"caller_nid": "db_plans_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L75"}, {"caller_nid": "db_plans_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L75"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L78"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L80"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L81"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L81"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L82"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L82"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L83"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L83"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L96"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L96"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L96"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L111"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L116"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L126"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L130"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L144"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L147"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L147"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L150"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L150"}, {"caller_nid": "db_plans_list_plans", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L153"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L153"}, {"caller_nid": "db_plans_list_plans", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L156"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L179"}, {"caller_nid": "db_plans_list_plans", "callee": "plan_to_read_with_fill_link", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L180"}, {"caller_nid": "db_plans_list_plans", "callee": "calc_executed_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L182"}, {"caller_nid": "db_plans_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L183"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"caller_nid": "db_plans_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L201"}, {"caller_nid": "db_plans_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L201"}, {"caller_nid": "db_plans_create_plan", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L208"}, {"caller_nid": "db_plans_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L211"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L214"}, {"caller_nid": "db_plans_create_plan", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L214"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L215"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L216"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L220"}, {"caller_nid": "db_plans_create_plan", "callee": "apply_product_snapshot_to_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L232"}, {"caller_nid": "db_plans_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L233"}, {"caller_nid": "db_plans_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234"}, {"caller_nid": "db_plans_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L235"}, {"caller_nid": "db_plans_create_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L236"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L252"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L252"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255"}, {"caller_nid": "db_plans_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L265"}, {"caller_nid": "db_plans_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L265"}, {"caller_nid": "db_plans_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266"}, {"caller_nid": "db_plans_get_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267"}, {"caller_nid": "db_plans_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L277"}, {"caller_nid": "db_plans_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L277"}, {"caller_nid": "db_plans_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L278"}, {"caller_nid": "db_plans_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279"}, {"caller_nid": "db_plans_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283"}, {"caller_nid": "db_plans_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L284"}, {"caller_nid": "db_plans_update_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L285"}, {"caller_nid": "db_plans_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L294"}, {"caller_nid": "db_plans_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L294"}, {"caller_nid": "db_plans_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295"}, {"caller_nid": "db_plans_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L298"}, {"caller_nid": "db_plans_get_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L303"}, {"caller_nid": "db_plans_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L308"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L317"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L317"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L322"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L333"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L337"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L338"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L339"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L341"}, {"caller_nid": "db_plans_apply_plan_product_update", "callee": "apply_product_snapshot_to_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L342"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L346"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L349"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L356"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L359"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L362"}, {"caller_nid": "db_plans_get_plan_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L377"}, {"caller_nid": "db_plans_get_plan_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L377"}, {"caller_nid": "db_plans_get_plan_related", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L378"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L381"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L381"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391"}, {"caller_nid": "db_plans_get_plan_related", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L405"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L405"}, {"caller_nid": "db_plans_get_plan_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L408"}, {"caller_nid": "db_plans_get_plan_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L409"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L428"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L433"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L438"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L443"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L444"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L446"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L446"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L453"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L453"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L457"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L459"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L459"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L467"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L467"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L472"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L473"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L474"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/064b7ff8ca388c679564b7630105c1f04d5e51492248b1a42e1fb5b618723299.json b/backend/graphify-out/cache/ast/064b7ff8ca388c679564b7630105c1f04d5e51492248b1a42e1fb5b618723299.json new file mode 100644 index 000000000..6cadfb9b9 --- /dev/null +++ b/backend/graphify-out/cache/ast/064b7ff8ca388c679564b7630105c1f04d5e51492248b1a42e1fb5b618723299.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_inboundoutboundbase", "label": "InboundOutboundBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "db_inventory_inboundoutboundbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "db_inventory_inboundoutboundread", "target": "db_inventory_inboundoutboundbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/0a78466da01b042debe949f41e4f5edb6021a9915f3cc3a0039cb03381595f7d.json b/backend/graphify-out/cache/ast/0a78466da01b042debe949f41e4f5edb6021a9915f3cc3a0039cb03381595f7d.json new file mode 100644 index 000000000..98b4f5149 --- /dev/null +++ b/backend/graphify-out/cache/ast/0a78466da01b042debe949f41e4f5edb6021a9915f3cc3a0039cb03381595f7d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33"}, {"id": "db_weighing_get_weighing", "label": "_get_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41"}, {"id": "db_weighing_apply_weighing_update", "label": "_apply_weighing_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L59"}, {"id": "db_weighing_list_weighing", "label": "list_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81"}, {"id": "db_weighing_create_weighing", "label": "create_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139"}, {"id": "weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139"}, {"id": "db_weighing_update_weighing", "label": "update_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249"}, {"id": "weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249"}, {"id": "db_weighing_void_weighing", "label": "void_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276"}, {"id": "db_weighing_delete_weighing", "label": "delete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L297"}, {"id": "db_weighing_weighingrelateddata", "label": "WeighingRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L310"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_get_weighing_related", "label": "get_weighing_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_services_db_weighing_logic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L41", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_apply_weighing_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L59", "weight": 1.0}, {"source": "db_weighing_apply_weighing_update", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L59", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_list_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "weighingslipread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_create_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L139", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L238", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L238", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L238", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L238", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L238", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_update_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L249", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_void_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_delete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L297", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L297", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L297", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L297", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_weighingrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L310", "weight": 1.0}, {"source": "db_weighing_weighingrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L310", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "db_weighing_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L91", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbweighingslip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L201", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L256", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_apply_weighing_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L265", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L282", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L303", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L322", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L357", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"caller_nid": "db_weighing_get_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L43"}, {"caller_nid": "db_weighing_get_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L43"}, {"caller_nid": "db_weighing_get_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L52"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L63"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L67"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L71"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L76"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L90"}, {"caller_nid": "db_weighing_list_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L90"}, {"caller_nid": "db_weighing_list_weighing", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L91"}, {"caller_nid": "db_weighing_list_weighing", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L91"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L94"}, {"caller_nid": "db_weighing_list_weighing", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L101"}, {"caller_nid": "db_weighing_list_weighing", "callee": "datetime_end_of_day", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L106"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L109"}, {"caller_nid": "db_weighing_list_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L119"}, {"caller_nid": "db_weighing_list_weighing", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L121"}, {"caller_nid": "db_weighing_list_weighing", "callee": "inventory_date_to_api", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L127"}, {"caller_nid": "db_weighing_list_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L130"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L132"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L144"}, {"caller_nid": "db_weighing_create_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L144"}, {"caller_nid": "db_weighing_create_weighing", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L149"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L149"}, {"caller_nid": "db_weighing_create_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L158"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L166"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L194"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L196"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L197"}, {"caller_nid": "db_weighing_create_weighing", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L202"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L204"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L205"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L206"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L209"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L210"}, {"caller_nid": "db_weighing_create_weighing", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L212"}, {"caller_nid": "db_weighing_create_weighing", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L228"}, {"caller_nid": "db_weighing_create_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L229"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L230"}, {"caller_nid": "db_weighing_create_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L232"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L233"}, {"caller_nid": "db_weighing_create_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L234"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L243"}, {"caller_nid": "db_weighing_get_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L243"}, {"caller_nid": "db_weighing_get_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L245"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L255"}, {"caller_nid": "db_weighing_update_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L255"}, {"caller_nid": "db_weighing_update_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L259"}, {"caller_nid": "db_weighing_update_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L264"}, {"caller_nid": "db_weighing_update_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L267"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L268"}, {"caller_nid": "db_weighing_update_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L270"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L271"}, {"caller_nid": "db_weighing_update_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L272"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L281"}, {"caller_nid": "db_weighing_void_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L281"}, {"caller_nid": "db_weighing_void_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L285"}, {"caller_nid": "db_weighing_void_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L292"}, {"caller_nid": "db_weighing_void_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L293"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L306"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L321"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L321"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L327"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L327"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L336"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L336"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L336"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L349"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L349"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L358"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L359"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/0c0bc07c70c6023ba9d24f07c3cd5ac11d232fc6b71675d9b05c487a2fdafeab.json b/backend/graphify-out/cache/ast/0c0bc07c70c6023ba9d24f07c3cd5ac11d232fc6b71675d9b05c487a2fdafeab.json new file mode 100644 index 000000000..6f19cc04f --- /dev/null +++ b/backend/graphify-out/cache/ast/0c0bc07c70c6023ba9d24f07c3cd5ac11d232fc6b71675d9b05c487a2fdafeab.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L1"}, {"id": "app_main_lifespan", "label": "lifespan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L32"}, {"id": "fastapi", "label": "FastAPI", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L32"}, {"id": "app_main_error_json", "label": "_error_json()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79"}, {"id": "jsonresponse", "label": "JSONResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79"}, {"id": "app_main_sqlalchemy_exception_handler", "label": "sqlalchemy_exception_handler()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92"}, {"id": "sqlalchemyerror", "label": "SQLAlchemyError", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92"}, {"id": "app_main_unhandled_exception_handler", "label": "unhandled_exception_handler()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103"}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103"}, {"id": "app_main_mask_secret", "label": "_mask_secret()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L124"}, {"id": "app_main_root", "label": "root()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L146"}, {"id": "app_main_health_check", "label": "health_check()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L151"}, {"id": "app_main_rationale_93", "label": "\u6570\u636e\u5e93\u5f02\u5e38\uff1a\u8fd4\u56de JSON \u5e76\u4fdd\u7559 CORS \u5934\uff0c\u907f\u514d\u6d4f\u89c8\u5668\u53ea\u62a5\u8de8\u57df\u9519\u8bef", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L93"}, {"id": "app_main_rationale_104", "label": "\u672a\u6355\u83b7\u5f02\u5e38\uff1a\u7edf\u4e00 JSON 500\uff0c\u786e\u4fdd\u8de8\u57df\u573a\u666f\u4e0b\u4ecd\u6709 Access-Control-Allow-Origin", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L104"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi_middleware_cors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi_responses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "sqlalchemy_exc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_api_request_log_middleware", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_api_crypto_middleware", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models_bx_models", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models_db_models", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_lifespan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L32", "weight": 1.0}, {"source": "app_main_lifespan", "target": "fastapi", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_error_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "app_main_error_json", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "app_main_error_json", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "app_main_error_json", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "app_main_error_json", "target": "jsonresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_sqlalchemy_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "request", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "sqlalchemyerror", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_unhandled_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "request", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "exception", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_mask_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L124", "weight": 1.0}, {"source": "app_main_mask_secret", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L124", "weight": 1.0}, {"source": "app_main_mask_secret", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L124", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L146", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_health_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L151", "weight": 1.0}, {"source": "app_main_error_json", "target": "jsonresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L80", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "app_main_error_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L99", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "app_main_error_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L110", "weight": 1.0}, {"source": "app_main_rationale_93", "target": "app_main_sqlalchemy_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L93", "weight": 1.0}, {"source": "app_main_rationale_104", "target": "app_main_unhandled_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L104", "weight": 1.0}], "raw_calls": [{"caller_nid": "app_main_lifespan", "callee": "ensure_initialized", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L36"}, {"caller_nid": "app_main_lifespan", "callee": "init_scheduled_tasks", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L41"}, {"caller_nid": "app_main_lifespan", "callee": "warning", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L43"}, {"caller_nid": "app_main_lifespan", "callee": "shutdown_scheduler", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L50"}, {"caller_nid": "app_main_error_json", "callee": "timestamp", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L86"}, {"caller_nid": "app_main_error_json", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L86"}, {"caller_nid": "app_main_sqlalchemy_exception_handler", "callee": "exception", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L94"}, {"caller_nid": "app_main_unhandled_exception_handler", "callee": "exception", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L105"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/13f0384ebe9d7faa752ad206924f5a57a10be7c946d407c06683edccd7cccdd1.json b/backend/graphify-out/cache/ast/13f0384ebe9d7faa752ad206924f5a57a10be7c946d407c06683edccd7cccdd1.json new file mode 100644 index 000000000..05d50b71a --- /dev/null +++ b/backend/graphify-out/cache/ast/13f0384ebe9d7faa752ad206924f5a57a10be7c946d407c06683edccd7cccdd1.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_inboundoutboundbase", "label": "InboundOutboundBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L24"}, {"id": "db_inventory_inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L40"}, {"id": "db_inventory_createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L58"}, {"id": "db_inventory_inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L65"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "db_inventory_inboundoutboundbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L24", "weight": 1.0}, {"source": "db_inventory_inboundoutboundcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L40", "weight": 1.0}, {"source": "db_inventory_inboundoutboundupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_createlinkforplanpayload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L58", "weight": 1.0}, {"source": "db_inventory_createlinkforplanpayload", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L58", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L65", "weight": 1.0}, {"source": "db_inventory_inboundoutboundread", "target": "db_inventory_inboundoutboundbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L65", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/15bb0acbd0259e7eb76dbdc538aaa96b44d2745404503c8f62a19a79e36b4dc6.json b/backend/graphify-out/cache/ast/15bb0acbd0259e7eb76dbdc538aaa96b44d2745404503c8f62a19a79e36b4dc6.json new file mode 100644 index 000000000..097f52374 --- /dev/null +++ b/backend/graphify-out/cache/ast/15bb0acbd0259e7eb76dbdc538aaa96b44d2745404503c8f62a19a79e36b4dc6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_inventorycreatebody", "label": "InventoryCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L7"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_inventoryupdatebody", "label": "InventoryUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L21"}, {"id": "db_inventory_rationale_1", "label": "\u5730\u78c5-\u51fa\u5165\u5e93 Pydantic schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inventorycreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L7", "weight": 1.0}, {"source": "db_inventory_inventorycreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inventoryupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L21", "weight": 1.0}, {"source": "db_inventory_inventoryupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L21", "weight": 1.0}, {"source": "db_inventory_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/16173a5e96f4ce02c46cedfbc94fd4e0ed784c18641302ad402d34f17b2ac6bd.json b/backend/graphify-out/cache/ast/16173a5e96f4ce02c46cedfbc94fd4e0ed784c18641302ad402d34f17b2ac6bd.json new file mode 100644 index 000000000..1e8d9ee07 --- /dev/null +++ b/backend/graphify-out/cache/ast/16173a5e96f4ce02c46cedfbc94fd4e0ed784c18641302ad402d34f17b2ac6bd.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": "L39"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"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": "L46"}, {"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": "L66"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L66"}, {"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": "L84"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L84"}, {"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": "L98"}, {"id": "db_inventory_ensure_vehicle_exists", "label": "_ensure_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112"}, {"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": "L146"}, {"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": "L164"}, {"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": "L175"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L175"}, {"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": "L279"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L279"}, {"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": "L324"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L324"}, {"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": "L386"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L386"}, {"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": "L407"}, {"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": "L419"}, {"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": "L425"}, {"id": "db_inventory_rationale_370", "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": "L370"}], "edges": [{"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_core_utils", "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": "db_inventory_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39", "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": "L39", "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": "L39", "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": "L46", "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": "L46", "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": "L46", "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": "L46", "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": "L66", "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": "L66", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "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": "L66", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_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": "L66", "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": "L66", "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": "L84", "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": "L84", "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": "L84", "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": "L84", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_ensure_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "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": "L146", "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": "L146", "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": "L164", "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": "L164", "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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L279", "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": "L279", "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": "L279", "weight": 1.0}, {"source": "db_inventory_create_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": "L279", "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": "L279", "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": "L324", "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": "L324", "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": "L324", "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": "L324", "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": "L324", "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": "L366", "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": "L366", "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": "L366", "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": "L366", "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": "L386", "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": "L386", "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": "L386", "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": "L386", "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": "L386", "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": "L407", "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": "L407", "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": "L407", "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": "L407", "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": "L419", "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": "L419", "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": "L425", "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": "L425", "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": "L425", "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": "L425", "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": "L100", "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": "L192", "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": "L284", "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": "L288", "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": "L296", "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": "L342", "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": "L351", "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": "L371", "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": "L392", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_ensure_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L397", "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": "L399", "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": "L400", "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": "L413", "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": "L429", "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": "L453", "weight": 1.0}, {"source": "db_inventory_rationale_370", "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": "L370", "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": "L40"}, {"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": "L48"}, {"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": "L52"}, {"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": "L57"}, {"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": "L60"}, {"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": "L62"}, {"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": "L72"}, {"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": "L72"}, {"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": "L75"}, {"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": "L75"}, {"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": "L81"}, {"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": "L86"}, {"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": "L86"}, {"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": "L91"}, {"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": "L100"}, {"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": "L105"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L120"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "first", "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_ensure_vehicle_exists", "callee": "query", "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_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L134"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "DbVehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L135"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L136"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L138"}, {"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": "L147"}, {"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": "L150"}, {"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": "L154"}, {"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": "L157"}, {"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": "L160"}, {"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": "L167"}, {"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": "L169"}, {"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": "L191"}, {"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": "L191"}, {"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": "L192"}, {"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": "L193"}, {"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": "L194"}, {"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": "L198"}, {"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": "L200"}, {"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": "L201"}, {"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": "L201"}, {"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": "L202"}, {"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": "L202"}, {"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": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L204"}, {"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": "L204"}, {"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": "L205"}, {"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": "L205"}, {"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": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L213"}, {"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": "L217"}, {"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": "L217"}, {"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": "L217"}, {"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": "L221"}, {"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": "L221"}, {"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": "L221"}, {"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": "L224"}, {"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": "L227"}, {"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": "L232"}, {"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": "L247"}, {"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": "L247"}, {"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": "L251"}, {"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": "L254"}, {"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": "L267"}, {"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": "L268"}, {"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": "L270"}, {"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": "L286"}, {"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": "L292"}, {"caller_nid": "db_inventory_create_inventory", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L297"}, {"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": "L299"}, {"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": "L299"}, {"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": "L299"}, {"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": "L300"}, {"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": "L302"}, {"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": "L304"}, {"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": "L306"}, {"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": "L313"}, {"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": "L314"}, {"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": "L315"}, {"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": "L316"}, {"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": "L329"}, {"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": "L329"}, {"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": "L331"}, {"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": "L331"}, {"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": "L340"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "generate_uuid", "is_member_call": false, "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": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L348"}, {"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": "L350"}, {"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": "L359"}, {"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": "L360"}, {"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": "L361"}, {"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": "L362"}, {"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": "L373"}, {"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": "L373"}, {"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": "L373"}, {"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": "L379"}, {"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": "L382"}, {"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": "L393"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "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": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L396"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L397"}, {"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": "L401"}, {"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": "L402"}, {"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": "L403"}, {"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": "L412"}, {"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": "L412"}, {"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": "L416"}, {"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": "L434"}, {"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": "L434"}, {"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": "L443"}, {"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": "L443"}, {"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": "L443"}, {"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": "L454"}, {"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": "L455"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/177a7b3590d25b715efbd0729fc08718f83bd35b7eac030d878d3a249b7518f7.json b/backend/graphify-out/cache/ast/177a7b3590d25b715efbd0729fc08718f83bd35b7eac030d878d3a249b7518f7.json new file mode 100644 index 000000000..621d802d4 --- /dev/null +++ b/backend/graphify-out/cache/ast/177a7b3590d25b715efbd0729fc08718f83bd35b7eac030d878d3a249b7518f7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "label": "db_auth.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1"}, {"id": "core_db_auth_dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22"}, {"id": "core_db_auth_dbusercontext_to_tenant_user_dict", "label": ".to_tenant_user_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31"}, {"id": "core_db_auth_get_db_current_user", "label": "get_db_current_user()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L39"}, {"id": "core_db_auth_get_db_current_user_optional", "label": "get_db_current_user_optional()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51"}, {"id": "core_db_auth_rationale_1", "label": "\u5730\u78c5\u6a21\u5757\u8ba4\u8bc1\u9002\u914d\uff1a\u95e8\u6237 JWT \u7528\u6237 \u2192 db \u4e1a\u52a1\u4e0a\u4e0b\u6587\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1"}, {"id": "core_db_auth_rationale_23", "label": "db Router/Service \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L23"}, {"id": "core_db_auth_rationale_55", "label": "\u6709 Bearer \u4e14\u4e3a admin/super_admin \u65f6\u8fd4\u56de\u4e0a\u4e0b\u6587\uff0c\u5426\u5219 None\uff08\u4f9b\u4e09\u65b9 H5 \u65e0\u767b\u5f55\u8c03\u7528\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L55"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "fastapi_security", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "app_core_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "core_db_auth_dbusercontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22", "weight": 1.0}, {"source": "core_db_auth_dbusercontext", "target": "core_db_auth_dbusercontext_to_tenant_user_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31", "weight": 1.0}, {"source": "core_db_auth_dbusercontext_to_tenant_user_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31", "weight": 1.0}, {"source": "core_db_auth_dbusercontext_to_tenant_user_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "core_db_auth_get_db_current_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L39", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user", "target": "core_db_auth_dbusercontext", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L39", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "core_db_auth_get_db_current_user_optional", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user_optional", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user_optional", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user_optional", "target": "core_db_auth_dbusercontext", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L51", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user", "target": "core_db_auth_dbusercontext", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L42", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user_optional", "target": "core_db_auth_dbusercontext", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L65", "weight": 1.0}, {"source": "core_db_auth_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1", "weight": 1.0}, {"source": "core_db_auth_rationale_23", "target": "core_db_auth_dbusercontext", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L23", "weight": 1.0}, {"source": "core_db_auth_rationale_55", "target": "core_db_auth_get_db_current_user_optional", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L55", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L43"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L43"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L44"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L44"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L44"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L45"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L45"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L46"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L46"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L47"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L47"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get_current_user_by_token", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L59"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L62"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L66"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L66"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L67"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L67"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L67"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L68"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L68"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L69"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L70"}, {"caller_nid": "core_db_auth_get_db_current_user_optional", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L70"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2092b0aef1b54ff6770fc173bae31841f9327aff9af99b4d48dd54482ac472dc.json b/backend/graphify-out/cache/ast/2092b0aef1b54ff6770fc173bae31841f9327aff9af99b4d48dd54482ac472dc.json new file mode 100644 index 000000000..448b9b162 --- /dev/null +++ b/backend/graphify-out/cache/ast/2092b0aef1b54ff6770fc173bae31841f9327aff9af99b4d48dd54482ac472dc.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": "L12"}, {"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": "L12", "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/2406649356c695c20ba6171cd19294b7fc2dbb91d116568a965673efac6ef05a.json b/backend/graphify-out/cache/ast/2406649356c695c20ba6171cd19294b7fc2dbb91d116568a965673efac6ef05a.json new file mode 100644 index 000000000..604344fff --- /dev/null +++ b/backend/graphify-out/cache/ast/2406649356c695c20ba6171cd19294b7fc2dbb91d116568a965673efac6ef05a.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": "L12"}, {"id": "db_init_rationale_13", "label": "P0 \u5065\u5eb7\u68c0\u67e5\uff1a\u9a8c\u8bc1 db \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L13"}], "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": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L5", "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": "L12", "weight": 1.0}, {"source": "db_init_rationale_13", "target": "db_init_db_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L13", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_init_db_health", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L14"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/247a2ef91c0329f5162df2e5b80d710373ace1fd8dd0d74e0f158d7376db88f4.json b/backend/graphify-out/cache/ast/247a2ef91c0329f5162df2e5b80d710373ace1fd8dd0d74e0f158d7376db88f4.json new file mode 100644 index 000000000..339cb5b44 --- /dev/null +++ b/backend/graphify-out/cache/ast/247a2ef91c0329f5162df2e5b80d710373ace1fd8dd0d74e0f158d7376db88f4.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": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L40"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L40"}, {"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": "L47"}, {"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": "L67"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L67"}, {"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": "L85"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L85"}, {"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": "L99"}, {"id": "db_inventory_ensure_vehicle_exists", "label": "_ensure_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L113"}, {"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": "L147"}, {"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": "L165"}, {"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": "L176"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L176"}, {"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": "L280"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L280"}, {"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": "L325"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L325"}, {"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": "L387"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L387"}, {"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": "L408"}, {"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": "L420"}, {"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": "L426"}, {"id": "db_inventory_rationale_371", "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": "L371"}], "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_core_utils", "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_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": "L15", "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": "L16", "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": "L17", "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": "L23", "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": "L24", "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": "L25", "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": "L40", "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": "L40", "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": "L40", "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": "L47", "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": "L47", "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": "L47", "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": "L47", "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": "L67", "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": "L67", "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": "L67", "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": "L67", "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": "L67", "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": "L85", "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": "L85", "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": "L85", "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": "L85", "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": "L99", "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": "L99", "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": "L99", "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": "L99", "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": "L99", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_ensure_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L113", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L113", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L113", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L113", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L113", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L113", "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": "L147", "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": "L147", "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": "L165", "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": "L165", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L176", "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": "L280", "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": "L280", "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": "L280", "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": "L280", "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": "L280", "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": "L325", "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": "L325", "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": "L325", "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": "L325", "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": "L325", "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": "L367", "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": "L367", "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": "L367", "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": "L367", "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": "L387", "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": "L387", "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": "L387", "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": "L387", "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": "L387", "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": "L408", "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": "L408", "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": "L408", "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": "L408", "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": "L420", "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": "L420", "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": "L426", "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": "L426", "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": "L426", "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": "L426", "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": "L101", "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": "L193", "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": "L285", "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": "L289", "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": "L297", "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": "L343", "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": "L352", "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": "L372", "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": "L393", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_ensure_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L398", "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": "L400", "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": "L401", "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": "L414", "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": "L430", "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": "L454", "weight": 1.0}, {"source": "db_inventory_rationale_371", "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": "L371", "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": "L41"}, {"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": "L49"}, {"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": "L53"}, {"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": "L58"}, {"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": "L61"}, {"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": "L63"}, {"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": "L73"}, {"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": "L73"}, {"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": "L76"}, {"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": "L76"}, {"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": "L82"}, {"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": "L87"}, {"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": "L87"}, {"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": "L92"}, {"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": "L101"}, {"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": "L106"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L121"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L123"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L123"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "first", "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_ensure_vehicle_exists", "callee": "query", "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_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L129"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L135"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "DbVehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L136"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L137"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L139"}, {"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": "L148"}, {"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": "L151"}, {"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": "L155"}, {"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": "L158"}, {"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": "L161"}, {"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": "L168"}, {"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": "L170"}, {"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": "L192"}, {"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": "L192"}, {"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": "L193"}, {"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": "L194"}, {"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": "L195"}, {"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": "L199"}, {"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": "L201"}, {"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": "L202"}, {"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": "L202"}, {"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": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L204"}, {"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": "L204"}, {"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": "L205"}, {"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": "L205"}, {"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": "L206"}, {"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": "L206"}, {"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": "L211"}, {"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": "L214"}, {"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": "L218"}, {"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": "L218"}, {"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": "L218"}, {"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": "L222"}, {"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": "L222"}, {"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": "L222"}, {"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": "L225"}, {"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": "L228"}, {"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": "L233"}, {"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": "L248"}, {"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": "L248"}, {"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": "L252"}, {"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": "L255"}, {"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": "L268"}, {"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": "L269"}, {"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": "L271"}, {"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": "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": "L292"}, {"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": "next_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L298"}, {"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": "L300"}, {"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": "L300"}, {"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": "L300"}, {"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": "L301"}, {"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": "L303"}, {"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": "L305"}, {"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": "L307"}, {"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": "L314"}, {"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": "L315"}, {"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": "L316"}, {"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": "L317"}, {"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": "L330"}, {"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": "L330"}, {"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": "L332"}, {"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": "L332"}, {"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": "L341"}, {"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": "L344"}, {"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": "L347"}, {"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": "L349"}, {"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": "L351"}, {"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": "L360"}, {"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": "L361"}, {"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": "L362"}, {"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": "L363"}, {"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": "L374"}, {"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": "L374"}, {"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": "L374"}, {"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": "L380"}, {"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": "L383"}, {"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": "L394"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L396"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L397"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L398"}, {"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": "L402"}, {"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": "L403"}, {"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": "L404"}, {"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": "L413"}, {"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": "L413"}, {"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": "L417"}, {"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": "L435"}, {"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": "L435"}, {"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": "L444"}, {"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": "L444"}, {"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": "L444"}, {"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": "L455"}, {"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": "L456"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2a92dfec1a58b0c1e780fa1c4389bf9ae9109026c2177da04ca814d16ec9a007.json b/backend/graphify-out/cache/ast/2a92dfec1a58b0c1e780fa1c4389bf9ae9109026c2177da04ca814d16ec9a007.json new file mode 100644 index 000000000..7120c67fe --- /dev/null +++ b/backend/graphify-out/cache/ast/2a92dfec1a58b0c1e780fa1c4389bf9ae9109026c2177da04ca814d16ec9a007.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_weighingcreatebody", "label": "WeighingCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L7"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_weighingupdatebody", "label": "WeighingUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L29"}, {"id": "db_weighing_rationale_1", "label": "\u5730\u78c5-\u5730\u78c5\u5355 Pydantic schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingcreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "db_weighing_weighingcreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L29", "weight": 1.0}, {"source": "db_weighing_weighingupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L29", "weight": 1.0}, {"source": "db_weighing_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2ca6007ffac3e058c81e0b999e8b764c27a980c3618fc5d8e4341baebd3ea3f2.json b/backend/graphify-out/cache/ast/2ca6007ffac3e058c81e0b999e8b764c27a980c3618fc5d8e4341baebd3ea3f2.json new file mode 100644 index 000000000..86bfa7e12 --- /dev/null +++ b/backend/graphify-out/cache/ast/2ca6007ffac3e058c81e0b999e8b764c27a980c3618fc5d8e4341baebd3ea3f2.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_15", "label": "P0 \u5065\u5eb7\u68c0\u67e5\uff1a\u9a8c\u8bc1 db \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L15"}], "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": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L5", "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_15", "target": "db_init_db_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L15", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_init_db_health", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L16"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33.json b/backend/graphify-out/cache/ast/2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33.json new file mode 100644 index 000000000..7e7e063ea --- /dev/null +++ b/backend/graphify-out/cache/ast/2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/2ebc6be092a38631de18319f7d3fa4e997ccb12e05cb6e741816ebbf0688d925.json b/backend/graphify-out/cache/ast/2ebc6be092a38631de18319f7d3fa4e997ccb12e05cb6e741816ebbf0688d925.json new file mode 100644 index 000000000..c010f9bca --- /dev/null +++ b/backend/graphify-out/cache/ast/2ebc6be092a38631de18319f7d3fa4e997ccb12e05cb6e741816ebbf0688d925.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": "L39"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"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": "L46"}, {"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": "L66"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L66"}, {"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": "L84"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L84"}, {"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": "L98"}, {"id": "db_inventory_ensure_vehicle_exists", "label": "_ensure_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112"}, {"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": "L146"}, {"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": "L164"}, {"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": "L175"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L175"}, {"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": "L252"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L252"}, {"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": "L297"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L297"}, {"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": "L359"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L359"}, {"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": "L380"}, {"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": "L392"}, {"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": "L398"}, {"id": "db_inventory_rationale_343", "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": "L343"}], "edges": [{"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_core_utils", "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": "db_inventory_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39", "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": "L39", "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": "L39", "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": "L46", "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": "L46", "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": "L46", "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": "L46", "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": "L66", "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": "L66", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_no", "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": "L66", "weight": 1.0}, {"source": "db_inventory_resolve_tenant_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": "L66", "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": "L66", "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": "L84", "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": "L84", "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": "L84", "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": "L84", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_ensure_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "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": "L146", "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": "L146", "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": "L164", "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": "L164", "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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "weight": 1.0}, {"source": "db_inventory_list_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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L252", "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": "L252", "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": "L252", "weight": 1.0}, {"source": "db_inventory_create_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": "L252", "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": "L252", "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": "L297", "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": "L297", "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": "L297", "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": "L297", "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": "L297", "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": "L339", "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": "L339", "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": "L339", "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": "L339", "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": "L359", "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": "L359", "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": "L359", "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": "L359", "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": "L359", "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": "L380", "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": "L380", "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": "L380", "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": "L380", "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": "L392", "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": "L392", "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": "L398", "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": "L398", "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": "L398", "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": "L398", "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": "L100", "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": "L185", "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": "L257", "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": "L261", "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": "L269", "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": "L315", "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": "L324", "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": "L344", "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": "L365", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_ensure_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L370", "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": "L372", "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": "L373", "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": "L386", "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": "L402", "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": "L426", "weight": 1.0}, {"source": "db_inventory_rationale_343", "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": "L343", "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": "L40"}, {"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": "L48"}, {"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": "L52"}, {"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": "L57"}, {"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": "L60"}, {"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": "L62"}, {"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": "L72"}, {"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": "L72"}, {"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": "L75"}, {"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": "L75"}, {"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": "L81"}, {"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": "L86"}, {"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": "L86"}, {"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": "L91"}, {"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": "L100"}, {"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": "L105"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L120"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "first", "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_ensure_vehicle_exists", "callee": "query", "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_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L134"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "DbVehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L135"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L136"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L138"}, {"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": "L147"}, {"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": "L150"}, {"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": "L154"}, {"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": "L157"}, {"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": "L160"}, {"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": "L167"}, {"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": "L169"}, {"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": "L184"}, {"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": "L184"}, {"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": "L185"}, {"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": "L186"}, {"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": "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": "L191"}, {"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": "L193"}, {"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": "L194"}, {"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": "L194"}, {"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": "L195"}, {"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": "L195"}, {"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": "L200"}, {"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": "L205"}, {"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": "L220"}, {"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": "L220"}, {"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": "L224"}, {"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": "L227"}, {"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": "L240"}, {"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": "L241"}, {"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": "L243"}, {"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": "L259"}, {"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": "L264"}, {"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": "L265"}, {"caller_nid": "db_inventory_create_inventory", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L270"}, {"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": "L272"}, {"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": "L272"}, {"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": "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": "L273"}, {"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": "L275"}, {"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": "L279"}, {"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": "L286"}, {"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": "L287"}, {"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": "L288"}, {"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": "L289"}, {"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": "L302"}, {"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": "L302"}, {"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": "L304"}, {"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": "L304"}, {"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": "L313"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L316"}, {"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": "L319"}, {"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": "L321"}, {"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": "L323"}, {"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": "L332"}, {"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": "L333"}, {"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": "L334"}, {"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": "L335"}, {"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": "L346"}, {"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": "L346"}, {"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": "L346"}, {"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": "L352"}, {"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": "L355"}, {"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": "L366"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L368"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "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_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L370"}, {"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": "L374"}, {"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": "L375"}, {"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": "L376"}, {"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": "L385"}, {"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": "L385"}, {"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": "L389"}, {"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": "L407"}, {"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": "L407"}, {"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": "L416"}, {"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": "L416"}, {"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": "L416"}, {"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": "L427"}, {"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": "L428"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863.json b/backend/graphify-out/cache/ast/30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863.json new file mode 100644 index 000000000..91bce6a51 --- /dev/null +++ b/backend/graphify-out/cache/ast/30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L1"}, {"id": "db_plan_plancreatebody", "label": "PlanCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L7"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plan_planupdatebody", "label": "PlanUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L24"}, {"id": "db_plan_rationale_1", "label": "\u5730\u78c5-\u8ba1\u5212 Pydantic schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "target": "db_plan_plancreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "db_plan_plancreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "target": "db_plan_planupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L24", "weight": 1.0}, {"source": "db_plan_planupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L24", "weight": 1.0}, {"source": "db_plan_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plan_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/372de29ebfba375f7f743771867a7060869f3c65b755ebba6c70f2124cd2d943.json b/backend/graphify-out/cache/ast/372de29ebfba375f7f743771867a7060869f3c65b755ebba6c70f2124cd2d943.json new file mode 100644 index 000000000..00cedefa1 --- /dev/null +++ b/backend/graphify-out/cache/ast/372de29ebfba375f7f743771867a7060869f3c65b755ebba6c70f2124cd2d943.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "label": "main.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L1"}, {"id": "app_main_lifespan", "label": "lifespan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L31"}, {"id": "fastapi", "label": "FastAPI", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L31"}, {"id": "app_main_error_json", "label": "_error_json()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78"}, {"id": "jsonresponse", "label": "JSONResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78"}, {"id": "app_main_sqlalchemy_exception_handler", "label": "sqlalchemy_exception_handler()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91"}, {"id": "sqlalchemyerror", "label": "SQLAlchemyError", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91"}, {"id": "app_main_unhandled_exception_handler", "label": "unhandled_exception_handler()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L102"}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L102"}, {"id": "app_main_mask_secret", "label": "_mask_secret()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L122"}, {"id": "app_main_root", "label": "root()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L144"}, {"id": "app_main_health_check", "label": "health_check()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L149"}, {"id": "app_main_rationale_92", "label": "\u6570\u636e\u5e93\u5f02\u5e38\uff1a\u8fd4\u56de JSON \u5e76\u4fdd\u7559 CORS \u5934\uff0c\u907f\u514d\u6d4f\u89c8\u5668\u53ea\u62a5\u8de8\u57df\u9519\u8bef", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92"}, {"id": "app_main_rationale_103", "label": "\u672a\u6355\u83b7\u5f02\u5e38\uff1a\u7edf\u4e00 JSON 500\uff0c\u786e\u4fdd\u8de8\u57df\u573a\u666f\u4e0b\u4ecd\u6709 Access-Control-Allow-Origin", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "contextlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi_middleware_cors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "fastapi_responses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "sqlalchemy_exc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_api_request_log_middleware", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_core_api_crypto_middleware", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models_bx_models", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_models_db_models", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_lifespan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L31", "weight": 1.0}, {"source": "app_main_lifespan", "target": "fastapi", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_error_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78", "weight": 1.0}, {"source": "app_main_error_json", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78", "weight": 1.0}, {"source": "app_main_error_json", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78", "weight": 1.0}, {"source": "app_main_error_json", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78", "weight": 1.0}, {"source": "app_main_error_json", "target": "jsonresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L78", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_sqlalchemy_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "request", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "sqlalchemyerror", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L91", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_unhandled_exception_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L102", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "request", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L102", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "exception", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L102", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_mask_secret", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L122", "weight": 1.0}, {"source": "app_main_mask_secret", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L122", "weight": 1.0}, {"source": "app_main_mask_secret", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L122", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L144", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_main_py", "target": "app_main_health_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L149", "weight": 1.0}, {"source": "app_main_error_json", "target": "jsonresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L79", "weight": 1.0}, {"source": "app_main_sqlalchemy_exception_handler", "target": "app_main_error_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L98", "weight": 1.0}, {"source": "app_main_unhandled_exception_handler", "target": "app_main_error_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L109", "weight": 1.0}, {"source": "app_main_rationale_92", "target": "app_main_sqlalchemy_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L92", "weight": 1.0}, {"source": "app_main_rationale_103", "target": "app_main_unhandled_exception_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L103", "weight": 1.0}], "raw_calls": [{"caller_nid": "app_main_lifespan", "callee": "ensure_initialized", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L35"}, {"caller_nid": "app_main_lifespan", "callee": "init_scheduled_tasks", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L40"}, {"caller_nid": "app_main_lifespan", "callee": "warning", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L42"}, {"caller_nid": "app_main_lifespan", "callee": "shutdown_scheduler", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L49"}, {"caller_nid": "app_main_error_json", "callee": "timestamp", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L85"}, {"caller_nid": "app_main_error_json", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L85"}, {"caller_nid": "app_main_sqlalchemy_exception_handler", "callee": "exception", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L93"}, {"caller_nid": "app_main_unhandled_exception_handler", "callee": "exception", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py", "source_location": "L104"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/3832d54d420d1e09705868bffa32419d900be56c00be27158c758db30036c973.json b/backend/graphify-out/cache/ast/3832d54d420d1e09705868bffa32419d900be56c00be27158c758db30036c973.json new file mode 100644 index 000000000..54128d928 --- /dev/null +++ b/backend/graphify-out/cache/ast/3832d54d420d1e09705868bffa32419d900be56c00be27158c758db30036c973.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_list_inventories", "label": "list_inventories()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19"}, {"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": "L58"}, {"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": "L71"}, {"id": "inventorycreatebody", "label": "InventoryCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L71"}, {"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": "L95"}, {"id": "inventoryupdatebody", "label": "InventoryUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L95"}, {"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": "L122"}], "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": "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": "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": "L7", "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": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_core_response", "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_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": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "app_services_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": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_list_inventories", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "weight": 1.0}, {"source": "db_inventory_list_inventories", "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": "L19", "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": "L58", "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": "L58", "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": "L58", "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": "L71", "weight": 1.0}, {"source": "db_inventory_create_inventory", "target": "inventorycreatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L71", "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": "L71", "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": "L95", "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": "L95", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "inventoryupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L95", "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": "L95", "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": "L122", "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": "L122", "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": "L122", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_inventory_list_inventories", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L33"}, {"caller_nid": "db_inventory_list_inventories", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L48"}, {"caller_nid": "db_inventory_list_inventories", "callee": "total_pages", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L53"}, {"caller_nid": "db_inventory_get_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L63"}, {"caller_nid": "db_inventory_get_inventory", "callee": "get_by_id", "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_get_inventory", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L66"}, {"caller_nid": "db_inventory_get_inventory", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L67"}, {"caller_nid": "db_inventory_create_inventory", "callee": "get", "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_create_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L77"}, {"caller_nid": "db_inventory_create_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L77"}, {"caller_nid": "db_inventory_create_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L78"}, {"caller_nid": "db_inventory_create_inventory", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L80"}, {"caller_nid": "db_inventory_create_inventory", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L85"}, {"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": "L87"}, {"caller_nid": "db_inventory_create_inventory", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L89"}, {"caller_nid": "db_inventory_create_inventory", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L90"}, {"caller_nid": "db_inventory_create_inventory", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L91"}, {"caller_nid": "db_inventory_create_inventory", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L91"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L101"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L102"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L103"}, {"caller_nid": "db_inventory_update_inventory", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L105"}, {"caller_nid": "db_inventory_update_inventory", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L107"}, {"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": "L112"}, {"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": "L114"}, {"caller_nid": "db_inventory_update_inventory", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L116"}, {"caller_nid": "db_inventory_update_inventory", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L117"}, {"caller_nid": "db_inventory_update_inventory", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L118"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L118"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L127"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L129"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L131"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L132"}, {"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": "L133"}, {"caller_nid": "db_inventory_delete_inventory", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L134"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/3b0ee18a78bfaf0b74ce5d43f4b7a91e6c724154311de52946e965e8311a98ad.json b/backend/graphify-out/cache/ast/3b0ee18a78bfaf0b74ce5d43f4b7a91e6c724154311de52946e965e8311a98ad.json new file mode 100644 index 000000000..b335c6d61 --- /dev/null +++ b/backend/graphify-out/cache/ast/3b0ee18a78bfaf0b74ce5d43f4b7a91e6c724154311de52946e965e8311a98ad.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "label": "vehicles.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L1"}, {"id": "db_vehicles_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "db_vehicles_list_vehicles", "label": "list_vehicles()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "db_vehicles_get_vehicle", "label": "get_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40"}, {"id": "db_vehicles_create_vehicle", "label": "create_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51"}, {"id": "vehiclecreate", "label": "VehicleCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51"}, {"id": "db_vehicles_update_vehicle", "label": "update_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73"}, {"id": "vehicleupdate", "label": "VehicleUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73"}, {"id": "db_vehicles_patch_vehicle", "label": "patch_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93"}, {"id": "db_vehicles_delete_vehicle", "label": "delete_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L103"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115"}, {"id": "db_vehicles_ensure_unique_vehicle_no", "label": "_ensure_unique_vehicle_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L129"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_schemas_db_master_data", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "db_vehicles_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "db_vehicles_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_list_vehicles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "vehicleread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_create_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "vehiclecreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_update_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "vehicleupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_patch_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "vehicleupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_delete_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L103", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L103", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L103", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L103", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "dbvehicle", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L129", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L129", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L129", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L129", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "dbvehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L82", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "db_vehicles_update_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L132", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_vehicles_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L19"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L31"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L31"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L34"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L34"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L34"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L36"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L45"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L45"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L47"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L56"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L56"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L59"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L61"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L66"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L67"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L68"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L69"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L80"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L81"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L81"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L81"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L83"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L87"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L88"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L89"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L108"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L108"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L112"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L117"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L122"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L130"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L130"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L132"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L133"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L137"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b.json b/backend/graphify-out/cache/ast/3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b.json new file mode 100644 index 000000000..038742096 --- /dev/null +++ b/backend/graphify-out/cache/ast/3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "label": "run_db_auto_generate_plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L1"}, {"id": "scripts_run_db_auto_generate_plans_main", "label": "main()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L17"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L17"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "app_services_db_auto_generate_plans", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_run_db_auto_generate_plans_py", "target": "scripts_run_db_auto_generate_plans_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "scripts_run_db_auto_generate_plans_main", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L17", "weight": 1.0}], "raw_calls": [{"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L18"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "add_argument", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L19"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "parse_args", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L24"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "SessionLocal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L26"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L28"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L32"}, {"caller_nid": "scripts_run_db_auto_generate_plans_main", "callee": "close", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py", "source_location": "L35"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/44e27b7f3d42ef56499f6ddd61bc71bd3ff8b6631f33906a9b18d65296b9d64e.json b/backend/graphify-out/cache/ast/44e27b7f3d42ef56499f6ddd61bc71bd3ff8b6631f33906a9b18d65296b9d64e.json new file mode 100644 index 000000000..9d1d776fe --- /dev/null +++ b/backend/graphify-out/cache/ast/44e27b7f3d42ef56499f6ddd61bc71bd3ff8b6631f33906a9b18d65296b9d64e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_inboundoutboundbase", "label": "InboundOutboundBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22"}, {"id": "db_inventory_inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38"}, {"id": "db_inventory_createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54"}, {"id": "db_inventory_inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "db_inventory_inboundoutboundbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "db_inventory_inboundoutboundcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38", "weight": 1.0}, {"source": "db_inventory_inboundoutboundupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_createlinkforplanpayload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54", "weight": 1.0}, {"source": "db_inventory_createlinkforplanpayload", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61", "weight": 1.0}, {"source": "db_inventory_inboundoutboundread", "target": "db_inventory_inboundoutboundbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191.json b/backend/graphify-out/cache/ast/468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191.json new file mode 100644 index 000000000..7aee2dd39 --- /dev/null +++ b/backend/graphify-out/cache/ast/468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "label": "weighing_logic.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L1"}, {"id": "db_weighing_logic_has_weight_time", "label": "_has_weight_time()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12"}, {"id": "db_weighing_logic_process_weighing_business_logic", "label": "process_weighing_business_logic()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20"}, {"id": "db_weighing_logic_rationale_1", "label": "\u5730\u78c5\u5355\u8054\u52a8\u4e1a\u52a1\u903b\u8f91 \u2014 \u8fc1\u79fb\u81ea simple-dibang-xiaoshou weighing._process_weighing_business_logic", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L1"}, {"id": "db_weighing_logic_rationale_21", "label": "\u5904\u7406\u5730\u78c5\u5355\u7684\u4e1a\u52a1\u903b\u8f91\uff1a 1. \u66f4\u65b0\u8ba1\u5212\u5355\u7684\u5df2\u6267\u884c\u91cf\uff08\u5355\u4f4d\uff1akg\uff09 2. \u66f4\u65b0\u51fa\u5165\u5e93\u5355\u7684\u72b6\u6001 3. \u91cd\u65b0\u8ba1\u7b97\u5730\u78c5\u5355\u7684 executed_q", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L21"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_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/weighing_logic.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "target": "db_weighing_logic_has_weight_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12", "weight": 1.0}, {"source": "db_weighing_logic_has_weight_time", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12", "weight": 1.0}, {"source": "db_weighing_logic_has_weight_time", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12", "weight": 1.0}, {"source": "db_weighing_logic_has_weight_time", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "target": "db_weighing_logic_process_weighing_business_logic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20", "weight": 1.0}, {"source": "db_weighing_logic_process_weighing_business_logic", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20", "weight": 1.0}, {"source": "db_weighing_logic_process_weighing_business_logic", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L20", "weight": 1.0}, {"source": "db_weighing_logic_process_weighing_business_logic", "target": "db_weighing_logic_has_weight_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L111", "weight": 1.0}, {"source": "db_weighing_logic_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_logic_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L1", "weight": 1.0}, {"source": "db_weighing_logic_rationale_21", "target": "db_weighing_logic_process_weighing_business_logic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L21", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_logic_has_weight_time", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L17"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L31"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L34"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L38"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L47"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L50"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L50"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L55"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L55"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L60"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L65"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L80"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L81"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L87"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L91"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L91"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L99"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L123"}, {"caller_nid": "db_weighing_logic_process_weighing_business_logic", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py", "source_location": "L124"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/471ab98aefde3be784d415bf6ef7a47c67258530f81314a0468068140087a4b5.json b/backend/graphify-out/cache/ast/471ab98aefde3be784d415bf6ef7a47c67258530f81314a0468068140087a4b5.json new file mode 100644 index 000000000..a774f3efc --- /dev/null +++ b/backend/graphify-out/cache/ast/471ab98aefde3be784d415bf6ef7a47c67258530f81314a0468068140087a4b5.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": "L39"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39"}, {"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": "L46"}, {"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": "L66"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L66"}, {"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": "L84"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L84"}, {"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": "L98"}, {"id": "db_inventory_ensure_vehicle_exists", "label": "_ensure_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112"}, {"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": "L146"}, {"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": "L164"}, {"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": "L175"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L175"}, {"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": "L279"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L279"}, {"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": "L324"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L324"}, {"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": "L386"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L386"}, {"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": "L407"}, {"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": "L419"}, {"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": "L425"}, {"id": "db_inventory_rationale_370", "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": "L370"}], "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_core_utils", "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": "db_inventory_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L39", "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": "L39", "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": "L39", "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": "L46", "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": "L46", "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": "L46", "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": "L46", "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": "L66", "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": "L66", "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": "L66", "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": "L66", "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": "L66", "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": "L84", "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": "L84", "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": "L84", "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": "L84", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "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": "L98", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_ensure_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L112", "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": "L146", "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": "L146", "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": "L164", "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": "L164", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L175", "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": "L279", "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": "L279", "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": "L279", "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": "L279", "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": "L279", "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": "L324", "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": "L324", "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": "L324", "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": "L324", "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": "L324", "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": "L366", "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": "L366", "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": "L366", "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": "L366", "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": "L386", "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": "L386", "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": "L386", "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": "L386", "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": "L386", "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": "L407", "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": "L407", "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": "L407", "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": "L407", "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": "L419", "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": "L419", "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": "L425", "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": "L425", "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": "L425", "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": "L425", "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": "L100", "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": "L192", "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": "L284", "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": "L288", "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": "L296", "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": "L342", "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": "L351", "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": "L371", "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": "L392", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_ensure_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L397", "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": "L399", "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": "L400", "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": "L413", "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": "L429", "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": "L453", "weight": 1.0}, {"source": "db_inventory_rationale_370", "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": "L370", "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": "L40"}, {"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": "L48"}, {"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": "L52"}, {"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": "L57"}, {"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": "L60"}, {"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": "L62"}, {"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": "L72"}, {"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": "L72"}, {"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": "L75"}, {"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": "L75"}, {"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": "L81"}, {"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": "L86"}, {"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": "L86"}, {"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": "L91"}, {"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": "L100"}, {"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": "L105"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L120"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L122"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "first", "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_ensure_vehicle_exists", "callee": "query", "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_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L128"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L134"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "DbVehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L135"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L136"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L138"}, {"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": "L147"}, {"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": "L150"}, {"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": "L154"}, {"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": "L157"}, {"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": "L160"}, {"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": "L167"}, {"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": "L169"}, {"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": "L191"}, {"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": "L191"}, {"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": "L192"}, {"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": "L193"}, {"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": "L194"}, {"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": "L198"}, {"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": "L200"}, {"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": "L201"}, {"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": "L201"}, {"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": "L202"}, {"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": "L202"}, {"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": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L204"}, {"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": "L204"}, {"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": "L205"}, {"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": "L205"}, {"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": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L213"}, {"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": "L217"}, {"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": "L217"}, {"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": "L217"}, {"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": "L221"}, {"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": "L221"}, {"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": "L221"}, {"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": "L224"}, {"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": "L227"}, {"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": "L232"}, {"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": "L247"}, {"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": "L247"}, {"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": "L251"}, {"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": "L254"}, {"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": "L267"}, {"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": "L268"}, {"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": "L270"}, {"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": "L286"}, {"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": "L292"}, {"caller_nid": "db_inventory_create_inventory", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L297"}, {"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": "L299"}, {"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": "L299"}, {"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": "L299"}, {"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": "L300"}, {"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": "L302"}, {"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": "L304"}, {"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": "L306"}, {"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": "L313"}, {"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": "L314"}, {"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": "L315"}, {"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": "L316"}, {"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": "L329"}, {"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": "L329"}, {"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": "L331"}, {"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": "L331"}, {"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": "L340"}, {"caller_nid": "db_inventory_create_link_for_plan", "callee": "generate_uuid", "is_member_call": false, "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": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L348"}, {"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": "L350"}, {"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": "L359"}, {"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": "L360"}, {"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": "L361"}, {"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": "L362"}, {"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": "L373"}, {"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": "L373"}, {"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": "L373"}, {"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": "L379"}, {"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": "L382"}, {"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": "L393"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "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": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L396"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L397"}, {"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": "L401"}, {"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": "L402"}, {"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": "L403"}, {"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": "L412"}, {"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": "L412"}, {"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": "L416"}, {"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": "L434"}, {"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": "L434"}, {"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": "L443"}, {"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": "L443"}, {"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": "L443"}, {"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": "L454"}, {"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": "L455"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a.json b/backend/graphify-out/cache/ast/474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a.json new file mode 100644 index 000000000..32c78e159 --- /dev/null +++ b/backend/graphify-out/cache/ast/474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L1"}, {"id": "db_plans_purchaseplanbase", "label": "PurchasePlanBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L34"}, {"id": "db_plans_purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54"}, {"id": "db_plans_purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L82"}, {"id": "db_plans_purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L88"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "db_plans_purchaseplanbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplancreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L34", "weight": 1.0}, {"source": "db_plans_purchaseplancreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "db_plans_purchaseplanupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L82", "weight": 1.0}, {"source": "db_plans_purchaseplanread", "target": "db_plans_purchaseplanbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L82", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanwithfilllink", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L88", "weight": 1.0}, {"source": "db_plans_purchaseplanwithfilllink", "target": "db_plans_purchaseplanread", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L88", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/4d52da98d0d7c8e1c828b60f65464e2045f05ef981fc9ce9ac8eca0c6db46c92.json b/backend/graphify-out/cache/ast/4d52da98d0d7c8e1c828b60f65464e2045f05ef981fc9ce9ac8eca0c6db46c92.json new file mode 100644 index 000000000..778128e6f --- /dev/null +++ b/backend/graphify-out/cache/ast/4d52da98d0d7c8e1c828b60f65464e2045f05ef981fc9ce9ac8eca0c6db46c92.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "label": "dashboard.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L1"}, {"id": "db_dashboard_get_dashboard_stats", "label": "get_dashboard_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23"}, {"id": "dashboardstats", "label": "DashboardStats", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23"}, {"id": "db_dashboard_get_inbound_by_cargo", "label": "get_inbound_by_cargo()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73"}, {"id": "dashboardcargostat", "label": "DashboardCargoStat", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73"}, {"id": "db_dashboard_get_inbound_by_partner_cargo", "label": "get_inbound_by_partner_cargo()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81"}, {"id": "dashboardpartnercargostat", "label": "DashboardPartnerCargoStat", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81"}, {"id": "db_dashboard_get_outbound_by_cargo", "label": "get_outbound_by_cargo()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L89"}, {"id": "db_dashboard_get_outbound_by_partner_cargo", "label": "get_outbound_by_partner_cargo()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L97"}, {"id": "db_dashboard_cargo_stats", "label": "_cargo_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104"}, {"id": "db_dashboard_partner_cargo_stats", "label": "_partner_cargo_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_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/dashboard.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_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/dashboard.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_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/dashboard.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "app_schemas_db_dashboard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_get_dashboard_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23", "weight": 1.0}, {"source": "db_dashboard_get_dashboard_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23", "weight": 1.0}, {"source": "db_dashboard_get_dashboard_stats", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23", "weight": 1.0}, {"source": "db_dashboard_get_dashboard_stats", "target": "dashboardstats", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_get_inbound_by_cargo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_cargo", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_cargo", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_cargo", "target": "dashboardcargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L73", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_get_inbound_by_partner_cargo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_partner_cargo", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_partner_cargo", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_partner_cargo", "target": "dashboardpartnercargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L81", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_get_outbound_by_cargo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L89", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_cargo", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L89", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_cargo", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L89", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_cargo", "target": "dashboardcargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L89", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_get_outbound_by_partner_cargo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L97", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_partner_cargo", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L97", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_partner_cargo", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L97", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_partner_cargo", "target": "dashboardpartnercargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L97", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_cargo_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104", "weight": 1.0}, {"source": "db_dashboard_cargo_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104", "weight": 1.0}, {"source": "db_dashboard_cargo_stats", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104", "weight": 1.0}, {"source": "db_dashboard_cargo_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104", "weight": 1.0}, {"source": "db_dashboard_cargo_stats", "target": "dashboardcargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L104", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_dashboard_py", "target": "db_dashboard_partner_cargo_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137", "weight": 1.0}, {"source": "db_dashboard_partner_cargo_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137", "weight": 1.0}, {"source": "db_dashboard_partner_cargo_stats", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137", "weight": 1.0}, {"source": "db_dashboard_partner_cargo_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137", "weight": 1.0}, {"source": "db_dashboard_partner_cargo_stats", "target": "dashboardpartnercargostat", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L137", "weight": 1.0}, {"source": "db_dashboard_get_dashboard_stats", "target": "dashboardstats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L65", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_cargo", "target": "db_dashboard_cargo_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L77", "weight": 1.0}, {"source": "db_dashboard_get_inbound_by_partner_cargo", "target": "db_dashboard_partner_cargo_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L85", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_cargo", "target": "db_dashboard_cargo_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L93", "weight": 1.0}, {"source": "db_dashboard_get_outbound_by_partner_cargo", "target": "db_dashboard_partner_cargo_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L101", "weight": 1.0}, {"source": "db_dashboard_cargo_stats", "target": "dashboardcargostat", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L132", "weight": 1.0}, {"source": "db_dashboard_partner_cargo_stats", "target": "dashboardpartnercargostat", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L174", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L27"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L27"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L28"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L31"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L31"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L31"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L43"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L43"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L43"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L55"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L55"}, {"caller_nid": "db_dashboard_get_dashboard_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L55"}, {"caller_nid": "db_dashboard_cargo_stats", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L105"}, {"caller_nid": "db_dashboard_cargo_stats", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L105"}, {"caller_nid": "db_dashboard_cargo_stats", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L106"}, {"caller_nid": "db_dashboard_cargo_stats", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L107"}, {"caller_nid": "db_dashboard_cargo_stats", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L127"}, {"caller_nid": "db_dashboard_partner_cargo_stats", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L143"}, {"caller_nid": "db_dashboard_partner_cargo_stats", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L143"}, {"caller_nid": "db_dashboard_partner_cargo_stats", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L144"}, {"caller_nid": "db_dashboard_partner_cargo_stats", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L145"}, {"caller_nid": "db_dashboard_partner_cargo_stats", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py", "source_location": "L169"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/50aad84c3da8b4f4fd37bf597b609c973b086a1f65e96490a921736fadf145a2.json b/backend/graphify-out/cache/ast/50aad84c3da8b4f4fd37bf597b609c973b086a1f65e96490a921736fadf145a2.json new file mode 100644 index 000000000..01e0faf9a --- /dev/null +++ b/backend/graphify-out/cache/ast/50aad84c3da8b4f4fd37bf597b609c973b086a1f65e96490a921736fadf145a2.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": "L10"}, {"id": "db_init_rationale_11", "label": "P0 \u5065\u5eb7\u68c0\u67e5\uff1a\u9a8c\u8bc1 db \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L11"}], "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_schemas_bx_common", "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": "L10", "weight": 1.0}, {"source": "db_init_rationale_11", "target": "db_init_db_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_init_db_health", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L12"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1.json b/backend/graphify-out/cache/ast/5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1.json new file mode 100644 index 000000000..beeed907a --- /dev/null +++ b/backend/graphify-out/cache/ast/5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py", "source_location": "L1"}, {"id": "db_init_rationale_1", "label": "\u5730\u78c5\uff08db\uff09Pydantic schemas \u2014 \u5bf9\u9f50\u539f simple-dibang-xiaoshou \u5951\u7ea6\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py", "source_location": "L1"}], "edges": [{"source": "db_init_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/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/51e594c4e476096cb0632d1207bc93fdaccf5929db2d6a263e8cda7a1b345973.json b/backend/graphify-out/cache/ast/51e594c4e476096cb0632d1207bc93fdaccf5929db2d6a263e8cda7a1b345973.json new file mode 100644 index 000000000..27e0e8ecd --- /dev/null +++ b/backend/graphify-out/cache/ast/51e594c4e476096cb0632d1207bc93fdaccf5929db2d6a263e8cda7a1b345973.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "label": "db_auth.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1"}, {"id": "core_db_auth_dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L13"}, {"id": "core_db_auth_dbusercontext_to_tenant_user_dict", "label": ".to_tenant_user_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22"}, {"id": "core_db_auth_get_db_current_user", "label": "get_db_current_user()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L30"}, {"id": "core_db_auth_rationale_1", "label": "\u5730\u78c5\u6a21\u5757\u8ba4\u8bc1\u9002\u914d\uff1a\u95e8\u6237 JWT \u7528\u6237 \u2192 db \u4e1a\u52a1\u4e0a\u4e0b\u6587\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1"}, {"id": "core_db_auth_rationale_14", "label": "db Router/Service \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L14"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "core_db_auth_dbusercontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L13", "weight": 1.0}, {"source": "core_db_auth_dbusercontext", "target": "core_db_auth_dbusercontext_to_tenant_user_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22", "weight": 1.0}, {"source": "core_db_auth_dbusercontext_to_tenant_user_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22", "weight": 1.0}, {"source": "core_db_auth_dbusercontext_to_tenant_user_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "target": "core_db_auth_get_db_current_user", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L30", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user", "target": "core_db_auth_dbusercontext", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L30", "weight": 1.0}, {"source": "core_db_auth_get_db_current_user", "target": "core_db_auth_dbusercontext", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L33", "weight": 1.0}, {"source": "core_db_auth_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_core_db_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L1", "weight": 1.0}, {"source": "core_db_auth_rationale_14", "target": "core_db_auth_dbusercontext", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L34"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L34"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L35"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L35"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L35"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L36"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L36"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L37"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L37"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L38"}, {"caller_nid": "core_db_auth_get_db_current_user", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py", "source_location": "L38"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8.json b/backend/graphify-out/cache/ast/5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8.json new file mode 100644 index 000000000..83db5a445 --- /dev/null +++ b/backend/graphify-out/cache/ast/5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_helpers_py", "label": "plan_helpers.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L1"}, {"id": "db_plan_helpers_generate_plan_no", "label": "generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L7"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L7"}, {"id": "db_plan_helpers_default_execution_status", "label": "default_execution_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L13"}, {"id": "db_plan_helpers_rationale_8", "label": "\u751f\u6210\u8ba1\u5212\u53f7\uff1aSX-YYYYMMDDHHMMSS001", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L8"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_helpers_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_helpers_py", "target": "db_plan_helpers_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L7", "weight": 1.0}, {"source": "db_plan_helpers_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_helpers_py", "target": "db_plan_helpers_default_execution_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L13", "weight": 1.0}, {"source": "db_plan_helpers_default_execution_status", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L13", "weight": 1.0}, {"source": "db_plan_helpers_default_execution_status", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L13", "weight": 1.0}, {"source": "db_plan_helpers_rationale_8", "target": "db_plan_helpers_generate_plan_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plan_helpers_generate_plan_no", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L9"}, {"caller_nid": "db_plan_helpers_generate_plan_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py", "source_location": "L10"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce.json b/backend/graphify-out/cache/ast/6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce.json new file mode 100644 index 000000000..f186cfb3c --- /dev/null +++ b/backend/graphify-out/cache/ast/6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "label": "master_data.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L1"}, {"id": "db_master_data_vehiclebase", "label": "VehicleBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_master_data_vehiclecreate", "label": "VehicleCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13"}, {"id": "db_master_data_vehicleupdate", "label": "VehicleUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17"}, {"id": "db_master_data_vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehiclebase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6", "weight": 1.0}, {"source": "db_master_data_vehiclebase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehiclecreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13", "weight": 1.0}, {"source": "db_master_data_vehiclecreate", "target": "db_master_data_vehiclebase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehicleupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17", "weight": 1.0}, {"source": "db_master_data_vehicleupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehicleread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24", "weight": 1.0}, {"source": "db_master_data_vehicleread", "target": "db_master_data_vehiclebase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/70451fa3b26008f5bbd4b27751d29b6c6f4d8be6b0eee0fe2f86dda7f3a6929e.json b/backend/graphify-out/cache/ast/70451fa3b26008f5bbd4b27751d29b6c6f4d8be6b0eee0fe2f86dda7f3a6929e.json new file mode 100644 index 000000000..659e54b31 --- /dev/null +++ b/backend/graphify-out/cache/ast/70451fa3b26008f5bbd4b27751d29b6c6f4d8be6b0eee0fe2f86dda7f3a6929e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1"}, {"id": "db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185"}, {"id": "db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "db_plans_autogeneratemonthlyresult", "label": "AutoGenerateMonthlyResult", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_run_auto_generate_monthly", "label": "run_auto_generate_monthly()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241"}, {"id": "db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255"}, {"id": "db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266"}, {"id": "db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295"}, {"id": "db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309"}, {"id": "db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323"}, {"id": "db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344"}, {"id": "db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350"}, {"id": "db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391"}, {"id": "db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398"}, {"id": "db_plans_rationale_246", "label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210\uff08\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"id": "db_plans_rationale_402", "label": "\u4e09\u65b9 H5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e\uff08\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff0c\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L402"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "purchaseplanwithfilllink", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185", "weight": 1.0}, {"source": "db_plans_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_autogeneratemonthlyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234", "weight": 1.0}, {"source": "db_plans_autogeneratemonthlyresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_run_auto_generate_monthly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_by_id_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323", "weight": 1.0}, {"source": "db_plans_apply_plan_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_planrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344", "weight": 1.0}, {"source": "db_plans_planrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_thirdpartyplanpagedata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391", "weight": 1.0}, {"source": "db_plans_thirdpartyplanpagedata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_third_party_plan_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "db_plans_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L198", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L204", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L275", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L297", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L385", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_get_plan_by_id_only", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L403", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L449", "weight": 1.0}, {"source": "db_plans_rationale_246", "target": "db_plans_run_auto_generate_monthly", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_rationale_402", "target": "db_plans_get_third_party_plan_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L402", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plans_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L41"}, {"caller_nid": "db_plans_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L70"}, {"caller_nid": "db_plans_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L70"}, {"caller_nid": "db_plans_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L76"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L77"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L77"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L78"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L78"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L79"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L79"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L84"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L107"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L112"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L122"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L126"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L140"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L143"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L143"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L145"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L145"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L146"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L146"}, {"caller_nid": "db_plans_list_plans", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L152"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175"}, {"caller_nid": "db_plans_list_plans", "callee": "plan_to_read_with_fill_link", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176"}, {"caller_nid": "db_plans_list_plans", "callee": "calc_executed_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L178"}, {"caller_nid": "db_plans_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L179"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L188"}, {"caller_nid": "db_plans_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L197"}, {"caller_nid": "db_plans_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L197"}, {"caller_nid": "db_plans_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L205"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L208"}, {"caller_nid": "db_plans_create_plan", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L208"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L209"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L210"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L212"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L216"}, {"caller_nid": "db_plans_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L228"}, {"caller_nid": "db_plans_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229"}, {"caller_nid": "db_plans_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L230"}, {"caller_nid": "db_plans_create_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L231"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L247"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L247"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250"}, {"caller_nid": "db_plans_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"caller_nid": "db_plans_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"caller_nid": "db_plans_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L261"}, {"caller_nid": "db_plans_get_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L262"}, {"caller_nid": "db_plans_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L273"}, {"caller_nid": "db_plans_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L274"}, {"caller_nid": "db_plans_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L277"}, {"caller_nid": "db_plans_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L278"}, {"caller_nid": "db_plans_update_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279"}, {"caller_nid": "db_plans_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L288"}, {"caller_nid": "db_plans_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L288"}, {"caller_nid": "db_plans_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289"}, {"caller_nid": "db_plans_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L292"}, {"caller_nid": "db_plans_get_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L297"}, {"caller_nid": "db_plans_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L302"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L311"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L311"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L316"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L324"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L327"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L337"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L340"}, {"caller_nid": "db_plans_get_plan_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L355"}, {"caller_nid": "db_plans_get_plan_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L355"}, {"caller_nid": "db_plans_get_plan_related", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L356"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L359"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L359"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L369"}, {"caller_nid": "db_plans_get_plan_related", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L376"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L383"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L383"}, {"caller_nid": "db_plans_get_plan_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L386"}, {"caller_nid": "db_plans_get_plan_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L406"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L411"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L416"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L421"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L422"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L431"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L431"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L435"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L437"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L437"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L445"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L445"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L450"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L451"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L452"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9.json b/backend/graphify-out/cache/ast/71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9.json new file mode 100644 index 000000000..774f33f28 --- /dev/null +++ b/backend/graphify-out/cache/ast/71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_tests_test_db_inventory_id_py", "label": "test_db_inventory_id.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L1"}, {"id": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_parses_scalar", "label": "test_max_numeric_inbound_outbound_id_parses_scalar()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L7"}, {"id": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_empty", "label": "test_max_numeric_inbound_outbound_id_empty()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L14"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_tests_test_db_inventory_id_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_tests_test_db_inventory_id_py", "target": "app_services_db_inventory_id", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_tests_test_db_inventory_id_py", "target": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_parses_scalar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_tests_test_db_inventory_id_py", "target": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_parses_scalar", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L8"}, {"caller_nid": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_parses_scalar", "callee": "max_numeric_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L10"}, {"caller_nid": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_parses_scalar", "callee": "assert_called_once", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L11"}, {"caller_nid": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_empty", "callee": "MagicMock", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L15"}, {"caller_nid": "tests_test_db_inventory_id_test_max_numeric_inbound_outbound_id_empty", "callee": "max_numeric_inbound_outbound_id", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py", "source_location": "L17"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/71e797ad755092bef2bebaaf7ef57645e2ecbdcabfbdaae47a7777d7d678fee5.json b/backend/graphify-out/cache/ast/71e797ad755092bef2bebaaf7ef57645e2ecbdcabfbdaae47a7777d7d678fee5.json new file mode 100644 index 000000000..b18b667c8 --- /dev/null +++ b/backend/graphify-out/cache/ast/71e797ad755092bef2bebaaf7ef57645e2ecbdcabfbdaae47a7777d7d678fee5.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": "L17"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"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": "L27"}, {"id": "db_mappers_vehicle_to_read", "label": "vehicle_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"id": "vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"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": "L43"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"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": "L71"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L71"}, {"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": "L84"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L84"}, {"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": "L88"}, {"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": "L94"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L94"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L94"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L94"}, {"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": "L141"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L141"}, {"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": "L170"}, {"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": "L174"}, {"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": "L183"}, {"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_master_data", "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_plans", "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": "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": "L14", "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": "L17", "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": "L17", "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": "L17", "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": "L17", "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": "L17", "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": "L27", "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": "L27", "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": "L27", "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": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_vehicle_to_read", "relation": "contains", "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_vehicle_to_read", "target": "dbvehicle", "relation": "references", "context": "parameter_type", "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_vehicle_to_read", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35", "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": "L43", "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": "L43", "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": "L43", "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": "L43", "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": "L71", "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": "L71", "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": "L71", "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": "L71", "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": "L71", "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": "L84", "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": "L84", "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": "L84", "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": "L88", "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": "L88", "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": "L88", "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": "L94", "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": "L94", "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": "L94", "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": "L94", "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": "L141", "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": "L141", "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": "L141", "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": "L141", "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": "L170", "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": "L170", "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": "L170", "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": "L174", "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": "L174", "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": "L174", "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": "L183", "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": "L183", "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": "L183", "weight": 1.0}, {"source": "db_mappers_vehicle_to_read", "target": "vehicleread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L36", "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": "L44", "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": "L47", "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": "L58", "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": "L77", "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": "L78", "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": "L89", "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": "L91", "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": "L111", "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": "L116", "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": "L118", "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": "L142", "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": "L152", "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": "L178", "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": "L21"}, {"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": "L23"}, {"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": "L31"}, {"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": "L67"}, {"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": "L79"}, {"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": "L113"}, {"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": "L130"}, {"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": "L165"}, {"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": "L171"}, {"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": "L171"}, {"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": "L178"}, {"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": "L188"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/71f9633b03a70516d85354c0f182c910f28a0eabf2ff290c38a0acf0a299cd82.json b/backend/graphify-out/cache/ast/71f9633b03a70516d85354c0f182c910f28a0eabf2ff290c38a0acf0a299cd82.json new file mode 100644 index 000000000..aeb858a82 --- /dev/null +++ b/backend/graphify-out/cache/ast/71f9633b03a70516d85354c0f182c910f28a0eabf2ff290c38a0acf0a299cd82.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38"}, {"id": "db_weighing_get_weighing", "label": "_get_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46"}, {"id": "db_weighing_apply_weighing_product_update", "label": "_apply_weighing_product_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64"}, {"id": "db_weighing_apply_weighing_update", "label": "_apply_weighing_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L80"}, {"id": "db_weighing_list_weighing", "label": "list_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102"}, {"id": "db_weighing_create_weighing", "label": "create_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190"}, {"id": "weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190"}, {"id": "db_weighing_update_weighing", "label": "update_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"id": "weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"id": "db_weighing_void_weighing", "label": "void_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L330"}, {"id": "db_weighing_delete_weighing", "label": "delete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L351"}, {"id": "db_weighing_weighingrelateddata", "label": "WeighingRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L364"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_get_weighing_related", "label": "get_weighing_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_services_db_weighing_logic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L46", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_apply_weighing_product_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64", "weight": 1.0}, {"source": "db_weighing_apply_weighing_product_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64", "weight": 1.0}, {"source": "db_weighing_apply_weighing_product_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64", "weight": 1.0}, {"source": "db_weighing_apply_weighing_product_update", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_apply_weighing_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L80", "weight": 1.0}, {"source": "db_weighing_apply_weighing_update", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L80", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_list_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "weighingslipread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_create_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L190", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L291", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L291", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L291", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L291", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L291", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_update_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_void_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L330", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L330", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L330", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L330", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_delete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L351", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L351", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L351", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L351", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_weighingrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L364", "weight": 1.0}, {"source": "db_weighing_weighingrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L364", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L370", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "db_weighing_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L117", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbweighingslip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L254", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L309", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_apply_weighing_product_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L318", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_apply_weighing_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L319", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L336", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L357", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L376", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L411", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L39"}, {"caller_nid": "db_weighing_get_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L48"}, {"caller_nid": "db_weighing_get_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L48"}, {"caller_nid": "db_weighing_get_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L57"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L68"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L72"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L74"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L76"}, {"caller_nid": "db_weighing_apply_weighing_product_update", "callee": "apply_product_snapshot_to_weighing", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L77"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L81"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L84"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L88"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L92"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L117"}, {"caller_nid": "db_weighing_list_weighing", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L117"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L120"}, {"caller_nid": "db_weighing_list_weighing", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L122"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L123"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L123"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L124"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L124"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L125"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L125"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L127"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L127"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L128"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L128"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L133"}, {"caller_nid": "db_weighing_list_weighing", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L136"}, {"caller_nid": "db_weighing_list_weighing", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L136"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "datetime_end_of_day", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L142"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L145"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L148"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L151"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L154"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L157"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L157"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L157"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L160"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L160"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L160"}, {"caller_nid": "db_weighing_list_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"caller_nid": "db_weighing_list_weighing", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L172"}, {"caller_nid": "db_weighing_list_weighing", "callee": "inventory_date_to_api", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L178"}, {"caller_nid": "db_weighing_list_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L181"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L183"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L195"}, {"caller_nid": "db_weighing_create_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L195"}, {"caller_nid": "db_weighing_create_weighing", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L200"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L200"}, {"caller_nid": "db_weighing_create_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L209"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L217"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L221"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L221"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L236"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L236"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L245"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L247"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L248"}, {"caller_nid": "db_weighing_create_weighing", "callee": "resolve_crm_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L252"}, {"caller_nid": "db_weighing_create_weighing", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L255"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L257"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L258"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L261"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L262"}, {"caller_nid": "db_weighing_create_weighing", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L264"}, {"caller_nid": "db_weighing_create_weighing", "callee": "apply_product_snapshot_to_weighing", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280"}, {"caller_nid": "db_weighing_create_weighing", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L281"}, {"caller_nid": "db_weighing_create_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L282"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L283"}, {"caller_nid": "db_weighing_create_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L285"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L286"}, {"caller_nid": "db_weighing_create_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L287"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L296"}, {"caller_nid": "db_weighing_get_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L296"}, {"caller_nid": "db_weighing_get_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L298"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L308"}, {"caller_nid": "db_weighing_update_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L308"}, {"caller_nid": "db_weighing_update_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_update_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L317"}, {"caller_nid": "db_weighing_update_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L321"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L322"}, {"caller_nid": "db_weighing_update_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L324"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L325"}, {"caller_nid": "db_weighing_update_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L326"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L335"}, {"caller_nid": "db_weighing_void_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L335"}, {"caller_nid": "db_weighing_void_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L339"}, {"caller_nid": "db_weighing_void_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L346"}, {"caller_nid": "db_weighing_void_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L356"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L356"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L360"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L361"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L375"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L375"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L381"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L381"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L390"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L390"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L390"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L403"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L403"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L412"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L413"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/726e2d6bd84929e66c63dc5b72ba4956f83d1ea41ccd59e6fef173d5e7c3fdde.json b/backend/graphify-out/cache/ast/726e2d6bd84929e66c63dc5b72ba4956f83d1ea41ccd59e6fef173d5e7c3fdde.json new file mode 100644 index 000000000..d90c908c8 --- /dev/null +++ b/backend/graphify-out/cache/ast/726e2d6bd84929e66c63dc5b72ba4956f83d1ea41ccd59e6fef173d5e7c3fdde.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_init_py", "target": "app_services_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py", "source_location": "L2", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/85261e9e51795aec9f592bad3c140ee58738f7fb36e3cf6117aaa7ef436dcf7c.json b/backend/graphify-out/cache/ast/85261e9e51795aec9f592bad3c140ee58738f7fb36e3cf6117aaa7ef436dcf7c.json new file mode 100644 index 000000000..c80a58736 --- /dev/null +++ b/backend/graphify-out/cache/ast/85261e9e51795aec9f592bad3c140ee58738f7fb36e3cf6117aaa7ef436dcf7c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "label": "config.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L1"}, {"id": "core_config_settings", "label": "Settings", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L7"}, {"id": "basesettings", "label": "BaseSettings", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "core_config_config", "label": "Config", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L152"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "pydantic_settings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "core_config_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L7", "weight": 1.0}, {"source": "core_config_settings", "target": "basesettings", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_core_config_py", "target": "core_config_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py", "source_location": "L152", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/888a2f483f77f732b36bade88680932f90eb894b71514f42f465a7951399377f.json b/backend/graphify-out/cache/ast/888a2f483f77f732b36bade88680932f90eb894b71514f42f465a7951399377f.json new file mode 100644 index 000000000..52f5bc6e4 --- /dev/null +++ b/backend/graphify-out/cache/ast/888a2f483f77f732b36bade88680932f90eb894b71514f42f465a7951399377f.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": "L44"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L44"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L44"}, {"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": "L51"}, {"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": "L71"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L71"}, {"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": "L89"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L89"}, {"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": "L103"}, {"id": "db_inventory_ensure_vehicle_exists", "label": "_ensure_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L117"}, {"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": "L151"}, {"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": "L167"}, {"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": "L185"}, {"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": "L196"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L196"}, {"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": "L300"}, {"id": "inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L300"}, {"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": "L347"}, {"id": "createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L347"}, {"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": "L417"}, {"id": "inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L417"}, {"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": "L439"}, {"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": "L451"}, {"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": "L457"}, {"id": "db_inventory_rationale_401", "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": "L401"}], "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_core_utils", "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_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": "L15", "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": "L16", "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": "L17", "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": "L23", "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": "L24", "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": "L25", "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": "L33", "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": "L44", "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": "L44", "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": "L44", "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": "L51", "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": "L51", "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": "L51", "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": "L51", "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": "L71", "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": "L71", "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": "L71", "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": "L71", "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": "L71", "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": "L89", "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": "L89", "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": "L89", "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": "L89", "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": "L103", "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": "L103", "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": "L103", "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": "L103", "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": "L103", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_inventory_py", "target": "db_inventory_ensure_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L117", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L117", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L117", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L117", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L117", "weight": 1.0}, {"source": "db_inventory_ensure_vehicle_exists", "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": "L117", "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": "L151", "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": "L151", "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": "L151", "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": "L151", "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": "L167", "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": "L167", "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": "L185", "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": "L185", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L196", "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": "L300", "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": "L300", "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": "L300", "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": "L300", "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": "L300", "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": "L347", "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": "L347", "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": "L347", "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": "L347", "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": "L347", "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": "L397", "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": "L397", "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": "L397", "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": "L397", "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": "L417", "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": "L417", "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": "L417", "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": "L417", "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": "L417", "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": "L439", "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": "L439", "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": "L439", "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": "L439", "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": "L451", "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": "L451", "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": "L457", "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": "L457", "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": "L457", "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": "L457", "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": "L105", "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": "L213", "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": "L305", "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": "L309", "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": "L319", "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": "L371", "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": "L382", "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": "L402", "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": "L423", "weight": 1.0}, {"source": "db_inventory_update_inventory", "target": "db_inventory_ensure_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L428", "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": "L430", "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": "L431", "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": "L432", "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": "L445", "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": "L461", "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": "L485", "weight": 1.0}, {"source": "db_inventory_rationale_401", "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": "L401", "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": "L45"}, {"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": "L53"}, {"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": "L57"}, {"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": "L62"}, {"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": "L65"}, {"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": "L67"}, {"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": "L77"}, {"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": "L77"}, {"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": "L80"}, {"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": "L80"}, {"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": "L86"}, {"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": "L91"}, {"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": "L91"}, {"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": "L96"}, {"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": "L105"}, {"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": "L110"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "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_ensure_vehicle_exists", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L127"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L127"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L129"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L129"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "lower", "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_ensure_vehicle_exists", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L139"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "DbVehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L140"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L141"}, {"caller_nid": "db_inventory_ensure_vehicle_exists", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L143"}, {"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": "L155"}, {"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": "L159"}, {"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": "L160"}, {"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": "L161"}, {"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": "L163"}, {"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": "L164"}, {"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": "L168"}, {"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": "L171"}, {"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": "L175"}, {"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": "L178"}, {"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": "L181"}, {"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": "L188"}, {"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": "L190"}, {"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": "L212"}, {"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": "L212"}, {"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": "L213"}, {"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": "L214"}, {"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": "L215"}, {"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": "L219"}, {"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": "L221"}, {"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": "L222"}, {"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": "L222"}, {"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": "L223"}, {"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": "L223"}, {"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": "L224"}, {"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": "L224"}, {"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": "L225"}, {"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": "L225"}, {"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": "L226"}, {"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": "L226"}, {"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": "L231"}, {"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": "L234"}, {"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": "L238"}, {"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": "L238"}, {"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": "L238"}, {"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": "L242"}, {"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": "L242"}, {"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": "L242"}, {"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": "L245"}, {"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": "L248"}, {"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": "L253"}, {"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": "L268"}, {"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": "L268"}, {"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": "L272"}, {"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": "L275"}, {"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": "L288"}, {"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": "L289"}, {"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": "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": "L307"}, {"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": "L312"}, {"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": "L313"}, {"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": "L317"}, {"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": "L320"}, {"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": "L322"}, {"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": "L322"}, {"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": "L322"}, {"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": "L323"}, {"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": "L326"}, {"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": "L328"}, {"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": "L335"}, {"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": "L336"}, {"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": "L337"}, {"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": "L338"}, {"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": "L339"}, {"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": "L352"}, {"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": "L352"}, {"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": "L354"}, {"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": "L354"}, {"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": "L363"}, {"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": "L366"}, {"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": "L372"}, {"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": "L375"}, {"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": "L378"}, {"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": "L381"}, {"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": "L390"}, {"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": "L391"}, {"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": "L392"}, {"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": "L393"}, {"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": "L404"}, {"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": "L404"}, {"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": "L404"}, {"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": "L410"}, {"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": "L413"}, {"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": "L424"}, {"caller_nid": "db_inventory_update_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L426"}, {"caller_nid": "db_inventory_update_inventory", "callee": "strip", "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_update_inventory", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py", "source_location": "L428"}, {"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": "L433"}, {"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": "L434"}, {"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": "L435"}, {"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": "L444"}, {"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": "L444"}, {"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": "L448"}, {"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": "L466"}, {"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": "L466"}, {"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": "L475"}, {"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": "L475"}, {"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": "L475"}, {"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": "L486"}, {"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": "L487"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/8f0c3a6cc983b69425977891ee647aceb3ca70646f734a52047e6ec08e21f466.json b/backend/graphify-out/cache/ast/8f0c3a6cc983b69425977891ee647aceb3ca70646f734a52047e6ec08e21f466.json new file mode 100644 index 000000000..2c273a46b --- /dev/null +++ b/backend/graphify-out/cache/ast/8f0c3a6cc983b69425977891ee647aceb3ca70646f734a52047e6ec08e21f466.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L1"}, {"id": "db_plans_purchaseplanbase", "label": "PurchasePlanBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33"}, {"id": "db_plans_purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54"}, {"id": "db_plans_purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81"}, {"id": "db_plans_purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "db_plans_purchaseplanbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplancreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33", "weight": 1.0}, {"source": "db_plans_purchaseplancreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "db_plans_purchaseplanupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81", "weight": 1.0}, {"source": "db_plans_purchaseplanread", "target": "db_plans_purchaseplanbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L81", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_plans_py", "target": "db_plans_purchaseplanwithfilllink", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87", "weight": 1.0}, {"source": "db_plans_purchaseplanwithfilllink", "target": "db_plans_purchaseplanread", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py", "source_location": "L87", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483.json b/backend/graphify-out/cache/ast/8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483.json new file mode 100644 index 000000000..6f43172e6 --- /dev/null +++ b/backend/graphify-out/cache/ast/8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "label": "vehicles.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L1"}, {"id": "db_vehicles_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18"}, {"id": "db_vehicles_list_vehicles", "label": "list_vehicles()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26"}, {"id": "db_vehicles_get_vehicle", "label": "get_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46"}, {"id": "db_vehicles_create_vehicle", "label": "create_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57"}, {"id": "vehiclecreate", "label": "VehicleCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57"}, {"id": "db_vehicles_update_vehicle", "label": "update_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79"}, {"id": "vehicleupdate", "label": "VehicleUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79"}, {"id": "db_vehicles_patch_vehicle", "label": "patch_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99"}, {"id": "db_vehicles_delete_vehicle", "label": "delete_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121"}, {"id": "db_vehicles_ensure_unique_vehicle_no", "label": "_ensure_unique_vehicle_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L135"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "app_schemas_db_master_data", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_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/vehicles.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "db_vehicles_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "db_vehicles_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_list_vehicles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "vehicleread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L46", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_create_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "vehiclecreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_update_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "vehicleupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L79", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_patch_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "vehicleupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L99", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_delete_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109", "weight": 1.0}, {"source": "db_vehicles_delete_vehicle", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L109", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "dbvehicle", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L121", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicles_py", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L135", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L135", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L135", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L135", "weight": 1.0}, {"source": "db_vehicles_list_vehicles", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicles_create_vehicle", "target": "dbvehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L64", "weight": 1.0}, {"source": "db_vehicles_update_vehicle", "target": "db_vehicles_ensure_unique_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L88", "weight": 1.0}, {"source": "db_vehicles_patch_vehicle", "target": "db_vehicles_update_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L105", "weight": 1.0}, {"source": "db_vehicles_get_vehicle", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L123", "weight": 1.0}, {"source": "db_vehicles_ensure_unique_vehicle_no", "target": "db_vehicles_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L138", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_vehicles_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L19"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L31"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L31"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L32"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L34"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L36"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L37"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L37"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L38"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L38"}, {"caller_nid": "db_vehicles_list_vehicles", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L42"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L51"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L52"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L53"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L62"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L62"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L65"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L67"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L72"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L73"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L74"}, {"caller_nid": "db_vehicles_create_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L75"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L85"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L85"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L86"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L87"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L87"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L87"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L89"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L93"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L94"}, {"caller_nid": "db_vehicles_update_vehicle", "callee": "vehicle_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L95"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L114"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L114"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "_get_vehicle", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L115"}, {"caller_nid": "db_vehicles_delete_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L118"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L123"}, {"caller_nid": "db_vehicles_get_vehicle", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L128"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L136"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L136"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L138"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L139"}, {"caller_nid": "db_vehicles_ensure_unique_vehicle_no", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py", "source_location": "L143"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/96c25a35e78e406b390c8639d97bb194b0e9264f3655c0dd51cc3f361ed96cd0.json b/backend/graphify-out/cache/ast/96c25a35e78e406b390c8639d97bb194b0e9264f3655c0dd51cc3f361ed96cd0.json new file mode 100644 index 000000000..5f2d4b591 --- /dev/null +++ b/backend/graphify-out/cache/ast/96c25a35e78e406b390c8639d97bb194b0e9264f3655c0dd51cc3f361ed96cd0.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "db_weighing_get_weighing", "label": "_get_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42"}, {"id": "db_weighing_apply_weighing_update", "label": "_apply_weighing_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60"}, {"id": "db_weighing_list_weighing", "label": "list_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "db_weighing_create_weighing", "label": "create_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"id": "weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"id": "db_weighing_update_weighing", "label": "update_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280"}, {"id": "weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280"}, {"id": "db_weighing_void_weighing", "label": "void_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307"}, {"id": "db_weighing_delete_weighing", "label": "delete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328"}, {"id": "db_weighing_weighingrelateddata", "label": "WeighingRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_get_weighing_related", "label": "get_weighing_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_services_db_weighing_logic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_apply_weighing_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "db_weighing_apply_weighing_update", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_list_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "weighingslipread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_create_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_update_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_void_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_delete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_weighingrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341", "weight": 1.0}, {"source": "db_weighing_weighingrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "db_weighing_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbweighingslip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L232", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L287", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_apply_weighing_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L296", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L313", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L334", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L353", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L388", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L35"}, {"caller_nid": "db_weighing_get_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L44"}, {"caller_nid": "db_weighing_get_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L44"}, {"caller_nid": "db_weighing_get_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L53"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L61"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L68"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L72"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L77"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L96"}, {"caller_nid": "db_weighing_list_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L96"}, {"caller_nid": "db_weighing_list_weighing", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L100"}, {"caller_nid": "db_weighing_list_weighing", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L105"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L105"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L106"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L106"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L107"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L107"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L108"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L108"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L113"}, {"caller_nid": "db_weighing_list_weighing", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L120"}, {"caller_nid": "db_weighing_list_weighing", "callee": "datetime_end_of_day", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L122"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L125"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L128"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L131"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L134"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L150"}, {"caller_nid": "db_weighing_list_weighing", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L152"}, {"caller_nid": "db_weighing_list_weighing", "callee": "inventory_date_to_api", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L158"}, {"caller_nid": "db_weighing_list_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L161"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L163"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L175"}, {"caller_nid": "db_weighing_create_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L175"}, {"caller_nid": "db_weighing_create_weighing", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L180"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L180"}, {"caller_nid": "db_weighing_create_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L189"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L197"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L201"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L201"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L216"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L216"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L225"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L227"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L228"}, {"caller_nid": "db_weighing_create_weighing", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L233"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L235"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L236"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L237"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L240"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L241"}, {"caller_nid": "db_weighing_create_weighing", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L243"}, {"caller_nid": "db_weighing_create_weighing", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L259"}, {"caller_nid": "db_weighing_create_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L260"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L261"}, {"caller_nid": "db_weighing_create_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L263"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L264"}, {"caller_nid": "db_weighing_create_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L265"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L274"}, {"caller_nid": "db_weighing_get_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L274"}, {"caller_nid": "db_weighing_get_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L286"}, {"caller_nid": "db_weighing_update_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L286"}, {"caller_nid": "db_weighing_update_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L290"}, {"caller_nid": "db_weighing_update_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L295"}, {"caller_nid": "db_weighing_update_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L298"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L299"}, {"caller_nid": "db_weighing_update_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L301"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_update_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L303"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_void_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_void_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316"}, {"caller_nid": "db_weighing_void_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L323"}, {"caller_nid": "db_weighing_void_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L324"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L333"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L333"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L337"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L338"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L358"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L358"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L380"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L380"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L389"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L390"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/977fc7b2d707c85a8ea49c21a4dcc775856d83447d7baf6cfada15dd56d27cde.json b/backend/graphify-out/cache/ast/977fc7b2d707c85a8ea49c21a4dcc775856d83447d7baf6cfada15dd56d27cde.json new file mode 100644 index 000000000..946f46594 --- /dev/null +++ b/backend/graphify-out/cache/ast/977fc7b2d707c85a8ea49c21a4dcc775856d83447d7baf6cfada15dd56d27cde.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_list_weighings", "label": "list_weighings()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19"}, {"id": "db_weighing_get_weighing", "label": "get_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60"}, {"id": "db_weighing_create_weighing", "label": "create_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73"}, {"id": "weighingcreatebody", "label": "WeighingCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73"}, {"id": "db_weighing_update_weighing", "label": "update_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"id": "weighingupdatebody", "label": "WeighingUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"id": "db_weighing_void_weighing", "label": "void_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126"}, {"id": "db_weighing_delete_weighing", "label": "delete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L148"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_services_db_weighing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_list_weighings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_list_weighings", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_create_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingcreatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L73", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_update_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_void_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L126", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_delete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L148", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L148", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L148", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_list_weighings", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"caller_nid": "db_weighing_list_weighings", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L50"}, {"caller_nid": "db_weighing_list_weighings", "callee": "total_pages", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L55"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L65"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L66"}, {"caller_nid": "db_weighing_get_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L68"}, {"caller_nid": "db_weighing_get_weighing", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L69"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L78"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L79"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L79"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L80"}, {"caller_nid": "db_weighing_create_weighing", "callee": "save_weighing_slip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"caller_nid": "db_weighing_create_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L87"}, {"caller_nid": "db_weighing_create_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L89"}, {"caller_nid": "db_weighing_create_weighing", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L91"}, {"caller_nid": "db_weighing_create_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L92"}, {"caller_nid": "db_weighing_create_weighing", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L93"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L93"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L105"}, {"caller_nid": "db_weighing_update_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L107"}, {"caller_nid": "db_weighing_update_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L108"}, {"caller_nid": "db_weighing_update_weighing", "callee": "save_weighing_slip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L110"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L114"}, {"caller_nid": "db_weighing_update_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L118"}, {"caller_nid": "db_weighing_update_weighing", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L120"}, {"caller_nid": "db_weighing_update_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L121"}, {"caller_nid": "db_weighing_update_weighing", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L122"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L122"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L131"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L132"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L132"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L133"}, {"caller_nid": "db_weighing_void_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L135"}, {"caller_nid": "db_weighing_void_weighing", "callee": "void_weighing_slip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_void_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_void_weighing", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L142"}, {"caller_nid": "db_weighing_void_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L143"}, {"caller_nid": "db_weighing_void_weighing", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L144"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L153"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L154"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L154"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L155"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L157"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L159"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L160"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L162"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L163"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L164"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/9dcfba4e404c5e5c2650c363d5860aecb61f3f6d7040d65998bff31080d61863.json b/backend/graphify-out/cache/ast/9dcfba4e404c5e5c2650c363d5860aecb61f3f6d7040d65998bff31080d61863.json new file mode 100644 index 000000000..73f90813a --- /dev/null +++ b/backend/graphify-out/cache/ast/9dcfba4e404c5e5c2650c363d5860aecb61f3f6d7040d65998bff31080d61863.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": "L15"}, {"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": "L15", "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/9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a.json b/backend/graphify-out/cache/ast/9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a.json new file mode 100644 index 000000000..22372caa5 --- /dev/null +++ b/backend/graphify-out/cache/ast/9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_db_auto_plan_py", "label": "db_auto_plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L1"}, {"id": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "label": "auto_generate_monthly_plans_job()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L10"}, {"id": "tasks_db_auto_plan_rationale_11", "label": "\u6bcf\u6708 1 \u65e5\u51cc\u6668\u6267\u884c\uff1a\u6309\u4e0a\u6708\u8ba1\u5212\u6a21\u677f\u751f\u6210\u672c\u6708\u8ba1\u5212\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L11"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_db_auto_plan_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_db_auto_plan_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_db_auto_plan_py", "target": "app_services_db_auto_generate_plans", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_db_auto_plan_py", "target": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L10", "weight": 1.0}, {"source": "tasks_db_auto_plan_rationale_11", "target": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "SessionLocal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L12"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L14"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L15"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L16"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L18"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L19"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L20"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L23"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "exception", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L24"}, {"caller_nid": "tasks_db_auto_plan_auto_generate_monthly_plans_job", "callee": "close", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py", "source_location": "L26"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/a45692026a3f8e93597c5e1f90982ae4a4afb790822179d42df4533d85d11036.json b/backend/graphify-out/cache/ast/a45692026a3f8e93597c5e1f90982ae4a4afb790822179d42df4533d85d11036.json new file mode 100644 index 000000000..40f3918bc --- /dev/null +++ b/backend/graphify-out/cache/ast/a45692026a3f8e93597c5e1f90982ae4a4afb790822179d42df4533d85d11036.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_dbvehicle", "label": "DbVehicle", "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_dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L29"}, {"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": "L65"}, {"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": "L94"}, {"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_dbvehicle", "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_dbvehicle", "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_dbpurchaseplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L29", "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": "L29", "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": "L65", "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": "L65", "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": "L94", "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": "L94", "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/a5a3b5c70bcb542ec4e2b537eb4f6839cab7c55fe0c4ca439a6f3475b4e940af.json b/backend/graphify-out/cache/ast/a5a3b5c70bcb542ec4e2b537eb4f6839cab7c55fe0c4ca439a6f3475b4e940af.json new file mode 100644 index 000000000..51b4de018 --- /dev/null +++ b/backend/graphify-out/cache/ast/a5a3b5c70bcb542ec4e2b537eb4f6839cab7c55fe0c4ca439a6f3475b4e940af.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "label": "master_data.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L1"}, {"id": "db_master_data_vehiclebase", "label": "VehicleBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_master_data_vehiclecreate", "label": "VehicleCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13"}, {"id": "db_master_data_vehicleupdate", "label": "VehicleUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17"}, {"id": "db_master_data_vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehiclebase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6", "weight": 1.0}, {"source": "db_master_data_vehiclebase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehiclecreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13", "weight": 1.0}, {"source": "db_master_data_vehiclecreate", "target": "db_master_data_vehiclebase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehicleupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17", "weight": 1.0}, {"source": "db_master_data_vehicleupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_master_data_py", "target": "db_master_data_vehicleread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24", "weight": 1.0}, {"source": "db_master_data_vehicleread", "target": "db_master_data_vehiclebase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py", "source_location": "L24", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/a7771cf22a87848cb66a07d4392114226756dac6975d01b1a81f9859620fc4e6.json b/backend/graphify-out/cache/ast/a7771cf22a87848cb66a07d4392114226756dac6975d01b1a81f9859620fc4e6.json new file mode 100644 index 000000000..8adfecaf3 --- /dev/null +++ b/backend/graphify-out/cache/ast/a7771cf22a87848cb66a07d4392114226756dac6975d01b1a81f9859620fc4e6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_weighingslipbase", "label": "WeighingSlipBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31"}, {"id": "db_weighing_weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56"}, {"id": "db_weighing_weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "db_weighing_weighingslipbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "db_weighing_weighingslipcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56", "weight": 1.0}, {"source": "db_weighing_weighingslipupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_weighingslipread", "target": "db_weighing_weighingslipbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/a8b80e15e2033260506969b50ac361294005ecdc181d357995d66039d6e6abf9.json b/backend/graphify-out/cache/ast/a8b80e15e2033260506969b50ac361294005ecdc181d357995d66039d6e6abf9.json new file mode 100644 index 000000000..bea81433a --- /dev/null +++ b/backend/graphify-out/cache/ast/a8b80e15e2033260506969b50ac361294005ecdc181d357995d66039d6e6abf9.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_dbvehicle", "label": "DbVehicle", "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_dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27"}, {"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": "L61"}, {"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": "L88"}, {"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": "L125"}, {"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_dbvehicle", "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_dbvehicle", "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_dbpurchaseplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27", "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": "L27", "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": "L61", "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": "L61", "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": "L88", "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": "L88", "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": "L125", "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": "L125", "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/ac41750910a500b4e9a801e88d020f3df017df9d1921167dde37cadb2d8ac9fc.json b/backend/graphify-out/cache/ast/ac41750910a500b4e9a801e88d020f3df017df9d1921167dde37cadb2d8ac9fc.json new file mode 100644 index 000000000..b8a7ae876 --- /dev/null +++ b/backend/graphify-out/cache/ast/ac41750910a500b4e9a801e88d020f3df017df9d1921167dde37cadb2d8ac9fc.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": "L14"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L14"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L14"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L14"}, {"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": "L24"}, {"id": "db_mappers_vehicle_to_read", "label": "vehicle_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32"}, {"id": "vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32"}, {"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": "L40"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L40"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L40"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L40"}, {"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": "L68"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L68"}, {"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": "L81"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L81"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L81"}, {"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": "L100"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L100"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L100"}, {"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": "L128"}, {"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": "L137"}, {"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": "L7", "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": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "app_schemas_db_master_data", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L9", "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": "L10", "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": "L11", "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": "L14", "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": "L14", "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": "L14", "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": "L14", "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": "L14", "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": "L24", "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": "L24", "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": "L24", "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": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_vehicle_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32", "weight": 1.0}, {"source": "db_mappers_vehicle_to_read", "target": "dbvehicle", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32", "weight": 1.0}, {"source": "db_mappers_vehicle_to_read", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L32", "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": "L40", "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": "L40", "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": "L40", "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": "L40", "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": "L68", "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": "L68", "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": "L68", "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": "L68", "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": "L68", "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": "L81", "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": "L81", "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": "L81", "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": "L100", "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": "L100", "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": "L100", "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": "L128", "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": "L128", "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": "L128", "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": "L137", "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": "L137", "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": "L137", "weight": 1.0}, {"source": "db_mappers_vehicle_to_read", "target": "vehicleread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L33", "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": "L41", "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": "L44", "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": "L55", "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": "L74", "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": "L75", "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": "L82", "weight": 1.0}, {"source": "db_mappers_inventory_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": "L84", "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": "L101", "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": "L111", "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": "L132", "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": "L18"}, {"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_datetime", "callee": "format_datetime", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L28"}, {"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": "L64"}, {"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": "L76"}, {"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": "L96"}, {"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": "L124"}, {"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": "L132"}, {"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": "L142"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864.json b/backend/graphify-out/cache/ast/acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864.json new file mode 100644 index 000000000..be712017a --- /dev/null +++ b/backend/graphify-out/cache/ast/acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L1"}, {"id": "db_plan_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19"}, {"id": "db_plan_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L58"}, {"id": "db_plan_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L71"}, {"id": "plancreatebody", "label": "PlanCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L71"}, {"id": "db_plan_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95"}, {"id": "planupdatebody", "label": "PlanUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95"}, {"id": "db_plan_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L122"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "app_schemas_db_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "app_services_db_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "db_plan_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "db_plan_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "db_plan_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L58", "weight": 1.0}, {"source": "db_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L58", "weight": 1.0}, {"source": "db_plan_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L58", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "db_plan_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L71", "weight": 1.0}, {"source": "db_plan_create_plan", "target": "plancreatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L71", "weight": 1.0}, {"source": "db_plan_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L71", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "db_plan_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95", "weight": 1.0}, {"source": "db_plan_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95", "weight": 1.0}, {"source": "db_plan_update_plan", "target": "planupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95", "weight": 1.0}, {"source": "db_plan_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L95", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plan_py", "target": "db_plan_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L122", "weight": 1.0}, {"source": "db_plan_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L122", "weight": 1.0}, {"source": "db_plan_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L122", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plan_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L33"}, {"caller_nid": "db_plan_list_plans", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L48"}, {"caller_nid": "db_plan_list_plans", "callee": "total_pages", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L53"}, {"caller_nid": "db_plan_get_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L63"}, {"caller_nid": "db_plan_get_plan", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L64"}, {"caller_nid": "db_plan_get_plan", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L66"}, {"caller_nid": "db_plan_get_plan", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L67"}, {"caller_nid": "db_plan_create_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L76"}, {"caller_nid": "db_plan_create_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L77"}, {"caller_nid": "db_plan_create_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L77"}, {"caller_nid": "db_plan_create_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L78"}, {"caller_nid": "db_plan_create_plan", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L80"}, {"caller_nid": "db_plan_create_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L85"}, {"caller_nid": "db_plan_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L87"}, {"caller_nid": "db_plan_create_plan", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L89"}, {"caller_nid": "db_plan_create_plan", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L90"}, {"caller_nid": "db_plan_create_plan", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L91"}, {"caller_nid": "db_plan_create_plan", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L91"}, {"caller_nid": "db_plan_update_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L101"}, {"caller_nid": "db_plan_update_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L102"}, {"caller_nid": "db_plan_update_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L102"}, {"caller_nid": "db_plan_update_plan", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L103"}, {"caller_nid": "db_plan_update_plan", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L105"}, {"caller_nid": "db_plan_update_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L107"}, {"caller_nid": "db_plan_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L112"}, {"caller_nid": "db_plan_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L114"}, {"caller_nid": "db_plan_update_plan", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L116"}, {"caller_nid": "db_plan_update_plan", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L117"}, {"caller_nid": "db_plan_update_plan", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L118"}, {"caller_nid": "db_plan_update_plan", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L118"}, {"caller_nid": "db_plan_delete_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L127"}, {"caller_nid": "db_plan_delete_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L128"}, {"caller_nid": "db_plan_delete_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L128"}, {"caller_nid": "db_plan_delete_plan", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L129"}, {"caller_nid": "db_plan_delete_plan", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L131"}, {"caller_nid": "db_plan_delete_plan", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L132"}, {"caller_nid": "db_plan_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L133"}, {"caller_nid": "db_plan_delete_plan", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py", "source_location": "L134"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64.json b/backend/graphify-out/cache/ast/aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64.json new file mode 100644 index 000000000..afc75dbb4 --- /dev/null +++ b/backend/graphify-out/cache/ast/aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "label": "vehicle.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L1"}, {"id": "db_vehicle_list_vehicles", "label": "list_vehicles()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19"}, {"id": "db_vehicle_get_vehicle", "label": "get_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L44"}, {"id": "db_vehicle_create_vehicle", "label": "create_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L57"}, {"id": "vehiclecreatebody", "label": "VehicleCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L57"}, {"id": "db_vehicle_update_vehicle", "label": "update_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83"}, {"id": "vehicleupdatebody", "label": "VehicleUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83"}, {"id": "db_vehicle_delete_vehicle", "label": "delete_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L110"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "app_schemas_db_vehicle", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "app_services_db_vehicle", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "db_vehicle_list_vehicles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19", "weight": 1.0}, {"source": "db_vehicle_list_vehicles", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19", "weight": 1.0}, {"source": "db_vehicle_list_vehicles", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19", "weight": 1.0}, {"source": "db_vehicle_list_vehicles", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19", "weight": 1.0}, {"source": "db_vehicle_list_vehicles", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "db_vehicle_get_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L44", "weight": 1.0}, {"source": "db_vehicle_get_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L44", "weight": 1.0}, {"source": "db_vehicle_get_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "db_vehicle_create_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicle_create_vehicle", "target": "vehiclecreatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L57", "weight": 1.0}, {"source": "db_vehicle_create_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "db_vehicle_update_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83", "weight": 1.0}, {"source": "db_vehicle_update_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83", "weight": 1.0}, {"source": "db_vehicle_update_vehicle", "target": "vehicleupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83", "weight": 1.0}, {"source": "db_vehicle_update_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L83", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_vehicle_py", "target": "db_vehicle_delete_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L110", "weight": 1.0}, {"source": "db_vehicle_delete_vehicle", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L110", "weight": 1.0}, {"source": "db_vehicle_delete_vehicle", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L110", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_vehicle_list_vehicles", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L26"}, {"caller_nid": "db_vehicle_list_vehicles", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L34"}, {"caller_nid": "db_vehicle_list_vehicles", "callee": "total_pages", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L39"}, {"caller_nid": "db_vehicle_get_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L49"}, {"caller_nid": "db_vehicle_get_vehicle", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L50"}, {"caller_nid": "db_vehicle_get_vehicle", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L52"}, {"caller_nid": "db_vehicle_get_vehicle", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L53"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L62"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L63"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L63"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L64"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L66"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L75"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L77"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L78"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L79"}, {"caller_nid": "db_vehicle_create_vehicle", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L79"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L89"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L90"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L90"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L91"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L93"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L95"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L100"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L102"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L104"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L105"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L106"}, {"caller_nid": "db_vehicle_update_vehicle", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L106"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L115"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L116"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L116"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L117"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "error_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L119"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L120"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L121"}, {"caller_nid": "db_vehicle_delete_vehicle", "callee": "success_response", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py", "source_location": "L122"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/b116b2786e6a348e68ed6f871cbfa85abd463bc67df566ad4021f3e6a31c19e8.json b/backend/graphify-out/cache/ast/b116b2786e6a348e68ed6f871cbfa85abd463bc67df566ad4021f3e6a31c19e8.json new file mode 100644 index 000000000..0259425e4 --- /dev/null +++ b/backend/graphify-out/cache/ast/b116b2786e6a348e68ed6f871cbfa85abd463bc67df566ad4021f3e6a31c19e8.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1"}, {"id": "db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169"}, {"id": "db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176"}, {"id": "db_plans_autogeneratemonthlyresult", "label": "AutoGenerateMonthlyResult", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_run_auto_generate_monthly", "label": "run_auto_generate_monthly()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225"}, {"id": "db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239"}, {"id": "db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250"}, {"id": "db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279"}, {"id": "db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L293"}, {"id": "db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307"}, {"id": "db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L328"}, {"id": "db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334"}, {"id": "db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L375"}, {"id": "db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L382"}, {"id": "db_plans_rationale_230", "label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210\uff08\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L230"}, {"id": "db_plans_rationale_386", "label": "\u4e09\u65b9 H5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e\uff08\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff0c\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L386"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "purchaseplanwithfilllink", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169", "weight": 1.0}, {"source": "db_plans_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_autogeneratemonthlyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "db_plans_autogeneratemonthlyresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_run_auto_generate_monthly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L239", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L267", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_by_id_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L293", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L293", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L293", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L293", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307", "weight": 1.0}, {"source": "db_plans_apply_plan_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_planrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L328", "weight": 1.0}, {"source": "db_plans_planrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L328", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_thirdpartyplanpagedata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L375", "weight": 1.0}, {"source": "db_plans_thirdpartyplanpagedata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L375", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_third_party_plan_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L382", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L382", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L382", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L382", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "db_plans_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L182", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L188", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L235", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L259", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L281", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L369", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_get_plan_by_id_only", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L433", "weight": 1.0}, {"source": "db_plans_rationale_230", "target": "db_plans_run_auto_generate_monthly", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L230", "weight": 1.0}, {"source": "db_plans_rationale_386", "target": "db_plans_get_third_party_plan_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L386", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plans_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L41"}, {"caller_nid": "db_plans_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L65"}, {"caller_nid": "db_plans_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L65"}, {"caller_nid": "db_plans_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66"}, {"caller_nid": "db_plans_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L69"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L72"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L72"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L73"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L73"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L91"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L96"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L106"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L110"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L124"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L127"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L127"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L129"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L129"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L130"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L130"}, {"caller_nid": "db_plans_list_plans", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L133"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L133"}, {"caller_nid": "db_plans_list_plans", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L136"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L159"}, {"caller_nid": "db_plans_list_plans", "callee": "plan_to_read_with_fill_link", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L160"}, {"caller_nid": "db_plans_list_plans", "callee": "calc_executed_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L162"}, {"caller_nid": "db_plans_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L163"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L172"}, {"caller_nid": "db_plans_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L181"}, {"caller_nid": "db_plans_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L181"}, {"caller_nid": "db_plans_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L189"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"caller_nid": "db_plans_create_plan", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L193"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L194"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L196"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L200"}, {"caller_nid": "db_plans_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L212"}, {"caller_nid": "db_plans_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L213"}, {"caller_nid": "db_plans_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L214"}, {"caller_nid": "db_plans_create_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L215"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L231"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L231"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234"}, {"caller_nid": "db_plans_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L244"}, {"caller_nid": "db_plans_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L244"}, {"caller_nid": "db_plans_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L245"}, {"caller_nid": "db_plans_get_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"caller_nid": "db_plans_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L256"}, {"caller_nid": "db_plans_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L256"}, {"caller_nid": "db_plans_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L257"}, {"caller_nid": "db_plans_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258"}, {"caller_nid": "db_plans_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L261"}, {"caller_nid": "db_plans_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L262"}, {"caller_nid": "db_plans_update_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L263"}, {"caller_nid": "db_plans_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L273"}, {"caller_nid": "db_plans_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L276"}, {"caller_nid": "db_plans_get_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L281"}, {"caller_nid": "db_plans_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L286"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L300"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L308"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L311"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L318"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L321"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L324"}, {"caller_nid": "db_plans_get_plan_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L339"}, {"caller_nid": "db_plans_get_plan_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L339"}, {"caller_nid": "db_plans_get_plan_related", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L340"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L343"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L343"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L349"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L349"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L353"}, {"caller_nid": "db_plans_get_plan_related", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L360"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L367"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L367"}, {"caller_nid": "db_plans_get_plan_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L370"}, {"caller_nid": "db_plans_get_plan_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L371"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L390"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L395"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L400"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L405"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L406"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L408"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L408"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L415"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L415"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L419"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L421"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L421"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L429"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L429"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L434"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L435"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L436"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/b1cff6e3fab0a73cb34072297e2adb2f3bacd3893c6deb33169fcfa99439fa75.json b/backend/graphify-out/cache/ast/b1cff6e3fab0a73cb34072297e2adb2f3bacd3893c6deb33169fcfa99439fa75.json new file mode 100644 index 000000000..30ae2beda --- /dev/null +++ b/backend/graphify-out/cache/ast/b1cff6e3fab0a73cb34072297e2adb2f3bacd3893c6deb33169fcfa99439fa75.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1"}, {"id": "db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169"}, {"id": "db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175"}, {"id": "db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218"}, {"id": "db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229"}, {"id": "db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258"}, {"id": "db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"id": "db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L286"}, {"id": "db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313"}, {"id": "db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L354"}, {"id": "db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L361"}, {"id": "db_plans_rationale_365", "label": "\u4e09\u65b9 H5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e\uff08\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff0c\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "purchaseplanwithfilllink", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169", "weight": 1.0}, {"source": "db_plans_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L169", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L218", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L258", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_by_id_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L286", "weight": 1.0}, {"source": "db_plans_apply_plan_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L286", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_planrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307", "weight": 1.0}, {"source": "db_plans_planrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L307", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L313", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_thirdpartyplanpagedata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L354", "weight": 1.0}, {"source": "db_plans_thirdpartyplanpagedata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L354", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_third_party_plan_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L361", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L361", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L361", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L361", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "db_plans_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L181", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L187", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L238", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L348", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_get_plan_by_id_only", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L366", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L412", "weight": 1.0}, {"source": "db_plans_rationale_365", "target": "db_plans_get_third_party_plan_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plans_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L41"}, {"caller_nid": "db_plans_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L65"}, {"caller_nid": "db_plans_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L65"}, {"caller_nid": "db_plans_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66"}, {"caller_nid": "db_plans_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L66"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L69"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L72"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L72"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L73"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L73"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L91"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L96"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L106"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L110"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L124"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L127"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L127"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L129"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L129"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L130"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L130"}, {"caller_nid": "db_plans_list_plans", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L133"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L133"}, {"caller_nid": "db_plans_list_plans", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L136"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L159"}, {"caller_nid": "db_plans_list_plans", "callee": "plan_to_read_with_fill_link", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L160"}, {"caller_nid": "db_plans_list_plans", "callee": "calc_executed_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L162"}, {"caller_nid": "db_plans_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L163"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L170"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L171"}, {"caller_nid": "db_plans_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L180"}, {"caller_nid": "db_plans_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L180"}, {"caller_nid": "db_plans_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L188"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L191"}, {"caller_nid": "db_plans_create_plan", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L191"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L193"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L195"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L199"}, {"caller_nid": "db_plans_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L211"}, {"caller_nid": "db_plans_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L212"}, {"caller_nid": "db_plans_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L213"}, {"caller_nid": "db_plans_create_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L214"}, {"caller_nid": "db_plans_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L223"}, {"caller_nid": "db_plans_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L223"}, {"caller_nid": "db_plans_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L224"}, {"caller_nid": "db_plans_get_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L225"}, {"caller_nid": "db_plans_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L235"}, {"caller_nid": "db_plans_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L235"}, {"caller_nid": "db_plans_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L236"}, {"caller_nid": "db_plans_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L237"}, {"caller_nid": "db_plans_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L240"}, {"caller_nid": "db_plans_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241"}, {"caller_nid": "db_plans_update_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L242"}, {"caller_nid": "db_plans_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251"}, {"caller_nid": "db_plans_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251"}, {"caller_nid": "db_plans_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L252"}, {"caller_nid": "db_plans_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255"}, {"caller_nid": "db_plans_get_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"caller_nid": "db_plans_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L265"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L274"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L274"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L287"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L290"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L297"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L300"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L303"}, {"caller_nid": "db_plans_get_plan_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L318"}, {"caller_nid": "db_plans_get_plan_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L318"}, {"caller_nid": "db_plans_get_plan_related", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L319"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L322"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L322"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L328"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L328"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L332"}, {"caller_nid": "db_plans_get_plan_related", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L339"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L346"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L346"}, {"caller_nid": "db_plans_get_plan_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L349"}, {"caller_nid": "db_plans_get_plan_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L369"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L374"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L379"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L384"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L385"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L394"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L394"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L400"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L400"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L408"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L408"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L413"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L414"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L415"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/b2ea766a3b484751eb338f58daea244adb846dd4822299f787fcbec8e48abe19.json b/backend/graphify-out/cache/ast/b2ea766a3b484751eb338f58daea244adb846dd4822299f787fcbec8e48abe19.json new file mode 100644 index 000000000..0a3bbd541 --- /dev/null +++ b/backend/graphify-out/cache/ast/b2ea766a3b484751eb338f58daea244adb846dd4822299f787fcbec8e48abe19.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_dbvehicle", "label": "DbVehicle", "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_dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27"}, {"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": "L62"}, {"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": "L91"}, {"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": "L130"}, {"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_dbvehicle", "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_dbvehicle", "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_dbpurchaseplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27", "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": "L27", "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": "L62", "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": "L62", "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": "L91", "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": "L91", "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": "L130", "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": "L130", "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/b7cc8049627480fa1c657ee9a0856f97f1b7526a71de9ee0288c7289c335422b.json b/backend/graphify-out/cache/ast/b7cc8049627480fa1c657ee9a0856f97f1b7526a71de9ee0288c7289c335422b.json new file mode 100644 index 000000000..0aeafb1ac --- /dev/null +++ b/backend/graphify-out/cache/ast/b7cc8049627480fa1c657ee9a0856f97f1b7526a71de9ee0288c7289c335422b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_inboundoutboundbase", "label": "InboundOutboundBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_inventory_inboundoutboundcreate", "label": "InboundOutboundCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22"}, {"id": "db_inventory_inboundoutboundupdate", "label": "InboundOutboundUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38"}, {"id": "db_inventory_createlinkforplanpayload", "label": "CreateLinkForPlanPayload", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54"}, {"id": "db_inventory_inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "db_inventory_inboundoutboundbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "db_inventory_inboundoutboundcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38", "weight": 1.0}, {"source": "db_inventory_inboundoutboundupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_createlinkforplanpayload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54", "weight": 1.0}, {"source": "db_inventory_createlinkforplanpayload", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_inventory_py", "target": "db_inventory_inboundoutboundread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61", "weight": 1.0}, {"source": "db_inventory_inboundoutboundread", "target": "db_inventory_inboundoutboundbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py", "source_location": "L61", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28.json b/backend/graphify-out/cache/ast/bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28.json new file mode 100644 index 000000000..71d7d3048 --- /dev/null +++ b/backend/graphify-out/cache/ast/bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15"}, {"id": "db_weighing_parse_date", "label": "_parse_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19"}, {"id": "db_weighing_parse_datetime", "label": "_parse_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L31"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L31"}, {"id": "db_weighing_format_date", "label": "_format_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L51"}, {"id": "db_weighing_format_datetime", "label": "_format_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L57"}, {"id": "db_weighing_compute_net_weight", "label": "_compute_net_weight()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63"}, {"id": "db_weighing_has_complete_weighing", "label": "_has_complete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67"}, {"id": "db_weighing_partner_company", "label": "_partner_company()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71"}, {"id": "db_weighing_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77"}, {"id": "db_weighing_weighingservice", "label": "WeighingService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L112"}, {"id": "db_weighing_weighingservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114"}, {"id": "db_weighing_weighingservice_list_weighings", "label": ".list_weighings()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128"}, {"id": "db_weighing_weighingservice_resolve_plan_fields", "label": "._resolve_plan_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212"}, {"id": "db_weighing_weighingservice_resolve_from_inventory", "label": "._resolve_from_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246"}, {"id": "db_weighing_weighingservice_check_duplicate_inventory_link", "label": "._check_duplicate_inventory_link()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276"}, {"id": "db_weighing_weighingservice_normalize_save_fields", "label": "._normalize_save_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294"}, {"id": "db_weighing_weighingservice_sync_inventory_from_weighing", "label": "._sync_inventory_from_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356"}, {"id": "db_weighing_weighingservice_process_weighing_business_logic", "label": "._process_weighing_business_logic()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L423"}, {"id": "db_weighing_weighingservice_save_weighing_slip", "label": ".save_weighing_slip()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517"}, {"id": "db_weighing_weighingservice_void_weighing_slip", "label": ".void_weighing_slip()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601"}, {"id": "db_weighing_weighingservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620"}, {"id": "db_weighing_rationale_1", "label": "\u5730\u78c5-\u5730\u78c5\u5355\u4e1a\u52a1\u670d\u52a1\uff08\u542b\u8ba1\u5212/\u51fa\u5165\u5e93\u8054\u52a8\u4e8b\u52a1\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_rationale_429", "label": "\u66f4\u65b0\u8ba1\u5212\u5df2\u6267\u884c\u91cf\u3001\u5730\u78c5\u5355\u7d2f\u8ba1\u6267\u884c\u91cf\u3001\u51fa\u5165\u5e93\u5355\u72b6\u6001\uff08\u5bf9\u9f50\u539f\u7cfb\u7edf\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L429"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_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/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "app_services_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "app_services_db_inventory", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "db_weighing_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "db_weighing_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "db_weighing_total_pages", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_parse_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_parse_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "db_weighing_parse_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_parse_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "db_weighing_parse_datetime", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "db_weighing_parse_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_format_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L51", "weight": 1.0}, {"source": "db_weighing_format_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L51", "weight": 1.0}, {"source": "db_weighing_format_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_format_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L57", "weight": 1.0}, {"source": "db_weighing_format_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L57", "weight": 1.0}, {"source": "db_weighing_format_datetime", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_compute_net_weight", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63", "weight": 1.0}, {"source": "db_weighing_compute_net_weight", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63", "weight": 1.0}, {"source": "db_weighing_compute_net_weight", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63", "weight": 1.0}, {"source": "db_weighing_compute_net_weight", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63", "weight": 1.0}, {"source": "db_weighing_compute_net_weight", "target": "float", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L63", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_has_complete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67", "weight": 1.0}, {"source": "db_weighing_has_complete_weighing", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67", "weight": 1.0}, {"source": "db_weighing_has_complete_weighing", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67", "weight": 1.0}, {"source": "db_weighing_has_complete_weighing", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_partner_company", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71", "weight": 1.0}, {"source": "db_weighing_partner_company", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71", "weight": 1.0}, {"source": "db_weighing_partner_company", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71", "weight": 1.0}, {"source": "db_weighing_partner_company", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71", "weight": 1.0}, {"source": "db_weighing_partner_company", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L71", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77", "weight": 1.0}, {"source": "db_weighing_row_to_dict", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77", "weight": 1.0}, {"source": "db_weighing_row_to_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77", "weight": 1.0}, {"source": "db_weighing_row_to_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77", "weight": 1.0}, {"source": "db_weighing_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L77", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "target": "db_weighing_weighingservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L112", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L114", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_list_weighings", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L128", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_resolve_plan_fields", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L212", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_resolve_from_inventory", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L246", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_check_duplicate_inventory_link", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_weighingservice_check_duplicate_inventory_link", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_weighingservice_check_duplicate_inventory_link", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_weighingservice_check_duplicate_inventory_link", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_weighingservice_check_duplicate_inventory_link", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L276", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_normalize_save_fields", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L294", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_sync_inventory_from_weighing", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L356", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_process_weighing_business_logic", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L423", "weight": 1.0}, {"source": "db_weighing_weighingservice_process_weighing_business_logic", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L423", "weight": 1.0}, {"source": "db_weighing_weighingservice_process_weighing_business_logic", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L423", "weight": 1.0}, {"source": "db_weighing_weighingservice_process_weighing_business_logic", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L423", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_save_weighing_slip", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L517", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_void_weighing_slip", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L601", "weight": 1.0}, {"source": "db_weighing_weighingservice", "target": "db_weighing_weighingservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L620", "weight": 1.0}, {"source": "db_weighing_parse_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L26", "weight": 1.0}, {"source": "db_weighing_row_to_dict", "target": "db_weighing_format_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L88", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "db_weighing_format_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L124", "weight": 1.0}, {"source": "db_weighing_weighingservice_get_by_id", "target": "db_weighing_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L125", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "db_weighing_format_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L204", "weight": 1.0}, {"source": "db_weighing_weighingservice_list_weighings", "target": "db_weighing_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L207", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_plan_fields", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L221", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L256", "weight": 1.0}, {"source": "db_weighing_weighingservice_resolve_from_inventory", "target": "db_weighing_weighingservice_resolve_plan_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L270", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "db_weighing_compute_net_weight", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L318", "weight": 1.0}, {"source": "db_weighing_weighingservice_normalize_save_fields", "target": "db_weighing_parse_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L330", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "db_weighing_partner_company", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L369", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L371", "weight": 1.0}, {"source": "db_weighing_weighingservice_sync_inventory_from_weighing", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L377", "weight": 1.0}, {"source": "db_weighing_weighingservice_process_weighing_business_logic", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L451", "weight": 1.0}, {"source": "db_weighing_weighingservice_process_weighing_business_logic", "target": "db_weighing_has_complete_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L506", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_normalize_save_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L526", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_check_duplicate_inventory_link", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L536", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_resolve_from_inventory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L540", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_resolve_plan_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L552", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L568", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_sync_inventory_from_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L587", "weight": 1.0}, {"source": "db_weighing_weighingservice_save_weighing_slip", "target": "db_weighing_weighingservice_process_weighing_business_logic", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L590", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L608", "weight": 1.0}, {"source": "db_weighing_weighingservice_void_weighing_slip", "target": "db_weighing_weighingservice_process_weighing_business_logic", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L616", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "db_weighing_weighingservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L621", "weight": 1.0}, {"source": "db_weighing_weighingservice_soft_delete", "target": "db_weighing_weighingservice_void_weighing_slip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L625", "weight": 1.0}, {"source": "db_weighing_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_weighing_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L1", "weight": 1.0}, {"source": "db_weighing_rationale_429", "target": "db_weighing_weighingservice_process_weighing_business_logic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L429", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_parse_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L22"}, {"caller_nid": "db_weighing_parse_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L26"}, {"caller_nid": "db_weighing_parse_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L28"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L34"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L39"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L42"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L42"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "fromisoformat", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L46"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L46"}, {"caller_nid": "db_weighing_parse_datetime", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L48"}, {"caller_nid": "db_weighing_format_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L54"}, {"caller_nid": "db_weighing_format_datetime", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L60"}, {"caller_nid": "db_weighing_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L73"}, {"caller_nid": "db_weighing_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L73"}, {"caller_nid": "db_weighing_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L74"}, {"caller_nid": "db_weighing_partner_company", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L74"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L144"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L151"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L155"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L156"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L157"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L158"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L159"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L160"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L161"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L166"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L166"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L168"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L168"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L172"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L172"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L174"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L174"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L177"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L180"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L183"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L185"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L195"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L197"}, {"caller_nid": "db_weighing_weighingservice_list_weighings", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L207"}, {"caller_nid": "db_weighing_weighingservice_resolve_plan_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L223"}, {"caller_nid": "db_weighing_weighingservice_resolve_plan_fields", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L226"}, {"caller_nid": "db_weighing_weighingservice_resolve_plan_fields", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L226"}, {"caller_nid": "db_weighing_weighingservice_resolve_plan_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L230"}, {"caller_nid": "db_weighing_weighingservice_resolve_plan_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L238"}, {"caller_nid": "db_weighing_weighingservice_resolve_from_inventory", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L258"}, {"caller_nid": "db_weighing_weighingservice_check_duplicate_inventory_link", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L282"}, {"caller_nid": "db_weighing_weighingservice_check_duplicate_inventory_link", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L290"}, {"caller_nid": "db_weighing_weighingservice_check_duplicate_inventory_link", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L291"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L295"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L295"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L297"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L299"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L299"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L300"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L300"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L301"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L301"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L304"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L306"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L308"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L310"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L313"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L314"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L315"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L324"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L330"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L330"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L331"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L335"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L335"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L338"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L338"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L347"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L348"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L349"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L350"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L350"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_weighingservice_normalize_save_fields", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L373"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L381"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L393"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "generate_batch_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L396"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "_default_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L397"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L398"}, {"caller_nid": "db_weighing_weighingservice_sync_inventory_from_weighing", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L420"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L434"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L436"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L439"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L448"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L456"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L456"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L461"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L466"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L495"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "_default_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L512"}, {"caller_nid": "db_weighing_weighingservice_process_weighing_business_logic", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L514"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L528"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L529"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L530"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L531"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L532"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L533"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L556"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L570"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L572"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L573"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L577"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L586"}, {"caller_nid": "db_weighing_weighingservice_save_weighing_slip", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L597"}, {"caller_nid": "db_weighing_weighingservice_void_weighing_slip", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L610"}, {"caller_nid": "db_weighing_weighingservice_void_weighing_slip", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L612"}, {"caller_nid": "db_weighing_weighingservice_void_weighing_slip", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py", "source_location": "L615"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/bcb64b488e211a2216fd25d36b08fb67b48f8e37f5ec133678282779146bbbf2.json b/backend/graphify-out/cache/ast/bcb64b488e211a2216fd25d36b08fb67b48f8e37f5ec133678282779146bbbf2.json new file mode 100644 index 000000000..57d49e518 --- /dev/null +++ b/backend/graphify-out/cache/ast/bcb64b488e211a2216fd25d36b08fb67b48f8e37f5ec133678282779146bbbf2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py", "source_location": "L1"}, {"id": "db_init_rationale_1", "label": "\u5730\u78c5\uff08db\uff09Pydantic schemas\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py", "source_location": "L1"}], "edges": [{"source": "db_init_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/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/be448e5dfacb54a3b25989828b0ee0e0b2e0d09c3fb14bcaac7d6377192115e8.json b/backend/graphify-out/cache/ast/be448e5dfacb54a3b25989828b0ee0e0b2e0d09c3fb14bcaac7d6377192115e8.json new file mode 100644 index 000000000..73f2e1c60 --- /dev/null +++ b/backend/graphify-out/cache/ast/be448e5dfacb54a3b25989828b0ee0e0b2e0d09c3fb14bcaac7d6377192115e8.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/c4a8dba94505264a801af5e7bec09418b3563386eb045edb012fc33781337334.json b/backend/graphify-out/cache/ast/c4a8dba94505264a801af5e7bec09418b3563386eb045edb012fc33781337334.json new file mode 100644 index 000000000..bf7ed4f47 --- /dev/null +++ b/backend/graphify-out/cache/ast/c4a8dba94505264a801af5e7bec09418b3563386eb045edb012fc33781337334.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_weighingslipbase", "label": "WeighingSlipBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31"}, {"id": "db_weighing_weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56"}, {"id": "db_weighing_weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "db_weighing_weighingslipbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "db_weighing_weighingslipcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56", "weight": 1.0}, {"source": "db_weighing_weighingslipupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_weighingslipread", "target": "db_weighing_weighingslipbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L82", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12.json b/backend/graphify-out/cache/ast/c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12.json new file mode 100644 index 000000000..959877fab --- /dev/null +++ b/backend/graphify-out/cache/ast/c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "label": "inventory_id.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L1"}, {"id": "db_inventory_id_max_numeric_inbound_outbound_id", "label": "max_numeric_inbound_outbound_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15"}, {"id": "db_inventory_id_ensure_sequence_row", "label": "_ensure_sequence_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L32"}, {"id": "db_inventory_id_allocate_inbound_outbound_id", "label": "_allocate_inbound_outbound_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L56"}, {"id": "db_inventory_id_next_inbound_outbound_id", "label": "next_inbound_outbound_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L73"}, {"id": "db_inventory_id_rationale_1", "label": "\u51fa\u5165\u5e93\u5355 id \u751f\u6210 \u2014 \u79df\u6237\u5185\u7eaf\u6570\u5b57\u81ea\u589e\uff0c\u5e76\u53d1\u5b89\u5168\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L1"}, {"id": "db_inventory_id_rationale_16", "label": "\u5f53\u524d\u79df\u6237\u4e0b\u7eaf\u6570\u5b57 id \u7684\u6700\u5927\u503c\uff08\u4e0d\u542b UUID \u7b49\u975e\u6570\u5b57\u4e3b\u952e\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L16"}, {"id": "db_inventory_id_rationale_74", "label": "\u5206\u914d\u4e0b\u4e00\u6761\u51fa\u5165\u5e93\u5355 id\uff08\u7eaf\u6570\u5b57\u5b57\u7b26\u4e32\uff09\u3002 \u4f7f\u7528 db_sequence \u884c\u9501 + next_val \u9012\u589e\uff0c\u907f\u514d\u5e76\u53d1\u4e0b\u91cd\u590d id\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L74"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "sqlalchemy_exc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_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/inventory_id.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "db_inventory_id_max_numeric_inbound_outbound_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_id_max_numeric_inbound_outbound_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_id_max_numeric_inbound_outbound_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_id_max_numeric_inbound_outbound_id", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "db_inventory_id_ensure_sequence_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L32", "weight": 1.0}, {"source": "db_inventory_id_ensure_sequence_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L32", "weight": 1.0}, {"source": "db_inventory_id_ensure_sequence_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "db_inventory_id_allocate_inbound_outbound_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L56", "weight": 1.0}, {"source": "db_inventory_id_allocate_inbound_outbound_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L56", "weight": 1.0}, {"source": "db_inventory_id_allocate_inbound_outbound_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L56", "weight": 1.0}, {"source": "db_inventory_id_allocate_inbound_outbound_id", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "target": "db_inventory_id_next_inbound_outbound_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L73", "weight": 1.0}, {"source": "db_inventory_id_next_inbound_outbound_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L73", "weight": 1.0}, {"source": "db_inventory_id_next_inbound_outbound_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L73", "weight": 1.0}, {"source": "db_inventory_id_next_inbound_outbound_id", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L73", "weight": 1.0}, {"source": "db_inventory_id_ensure_sequence_row", "target": "db_inventory_id_max_numeric_inbound_outbound_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L44", "weight": 1.0}, {"source": "db_inventory_id_allocate_inbound_outbound_id", "target": "db_inventory_id_ensure_sequence_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L57", "weight": 1.0}, {"source": "db_inventory_id_next_inbound_outbound_id", "target": "db_inventory_id_allocate_inbound_outbound_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L81", "weight": 1.0}, {"source": "db_inventory_id_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_id_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L1", "weight": 1.0}, {"source": "db_inventory_id_rationale_16", "target": "db_inventory_id_max_numeric_inbound_outbound_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L16", "weight": 1.0}, {"source": "db_inventory_id_rationale_74", "target": "db_inventory_id_next_inbound_outbound_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L74", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_inventory_id_max_numeric_inbound_outbound_id", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L17"}, {"caller_nid": "db_inventory_id_max_numeric_inbound_outbound_id", "callee": "execute", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L17"}, {"caller_nid": "db_inventory_id_max_numeric_inbound_outbound_id", "callee": "text", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L18"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L34"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L34"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L45"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "DbSequence", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L46"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L47"}, {"caller_nid": "db_inventory_id_ensure_sequence_row", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L53"}, {"caller_nid": "db_inventory_id_allocate_inbound_outbound_id", "callee": "one", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L59"}, {"caller_nid": "db_inventory_id_allocate_inbound_outbound_id", "callee": "with_for_update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L59"}, {"caller_nid": "db_inventory_id_allocate_inbound_outbound_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L59"}, {"caller_nid": "db_inventory_id_allocate_inbound_outbound_id", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L69"}, {"caller_nid": "db_inventory_id_next_inbound_outbound_id", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py", "source_location": "L83"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/ce0c54397aeff8e7e477a2b31963ec50838bcada2a625e20c8b35a239dcb0f7b.json b/backend/graphify-out/cache/ast/ce0c54397aeff8e7e477a2b31963ec50838bcada2a625e20c8b35a239dcb0f7b.json new file mode 100644 index 000000000..677fb2ac5 --- /dev/null +++ b/backend/graphify-out/cache/ast/ce0c54397aeff8e7e477a2b31963ec50838bcada2a625e20c8b35a239dcb0f7b.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": "L59"}, {"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": "L67"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L67"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L67"}, {"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": "L83"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L83"}, {"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": "L107"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L107"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L107"}, {"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": "L117"}, {"id": "engine", "label": "Engine", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L117"}, {"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": "L123"}, {"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": "L128"}, {"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": "L148"}, {"id": "scripts_migrate_dibang_data_transform_vehicle", "label": "transform_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L155"}, {"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": "L172"}, {"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": "L213"}, {"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": "L251"}, {"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": "L369"}, {"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": "L377"}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L377"}, {"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": "L385"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L385"}, {"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": "L414"}, {"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": "L522"}], "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": "uuid", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L32", "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": "L34", "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": "L35", "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": "L41", "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": "L59", "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": "L67", "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": "L67", "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": "L67", "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": "L83", "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": "L83", "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": "L83", "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": "L107", "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": "L107", "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": "L107", "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": "L107", "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": "L107", "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": "L107", "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": "L117", "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": "L117", "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": "L117", "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": "L123", "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": "L123", "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": "L123", "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": "L123", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L128", "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": "L148", "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": "L148", "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": "L148", "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": "L148", "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": "L148", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_transform_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L155", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L155", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L155", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L155", "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": "L172", "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": "L172", "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": "L172", "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": "L172", "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": "L172", "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": "L213", "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": "L213", "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": "L213", "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": "L213", "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": "L213", "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": "L213", "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": "L213", "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": "L251", "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": "L251", "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": "L251", "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": "L251", "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": "L251", "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": "L251", "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": "L251", "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": "L369", "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": "L369", "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": "L377", "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": "L377", "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": "L377", "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": "L377", "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": "L377", "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": "L385", "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": "L385", "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": "L385", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L414", "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": "L522", "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": "L522", "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": "L77", "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": "L103", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L156", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L162", "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": "L180", "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": "L181", "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": "L181", "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": "L203", "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": "L220", "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": "L223", "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": "L223", "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": "L232", "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": "L241", "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": "L258", "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": "L278", "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": "L297", "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": "L424", "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": "L428", "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": "L434", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_transform_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L438", "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": "L442", "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": "L452", "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": "L462", "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": "L479", "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": "L486", "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": "L492", "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": "L497", "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": "L515", "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": "L575", "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": "L578", "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": "L72"}, {"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": "L77"}, {"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": "L80"}, {"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": "L88"}, {"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": "L100"}, {"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": "L104"}, {"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": "L104"}, {"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": "L113"}, {"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": "L118"}, {"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": "L119"}, {"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": "L119"}, {"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": "L124"}, {"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": "L125"}, {"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": "L125"}, {"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": "L125"}, {"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": "L140"}, {"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": "L142"}, {"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": "L142"}, {"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": "L144"}, {"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": "L150"}, {"caller_nid": "scripts_migrate_dibang_data_build_id_maps", "callee": "uuid4", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L151"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L156"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L156"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L159"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L162"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "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": "L180"}, {"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": "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": "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": "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": "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": "L192"}, {"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": "L193"}, {"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": "L194"}, {"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": "L195"}, {"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": "L197"}, {"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": "L198"}, {"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": "L199"}, {"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": "L200"}, {"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": "L203"}, {"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": "L209"}, {"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": "L220"}, {"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": "L220"}, {"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": "L223"}, {"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": "L229"}, {"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": "L231"}, {"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_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L237"}, {"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": "L241"}, {"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": "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": "L258"}, {"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": "L258"}, {"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": "L259"}, {"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": "L260"}, {"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": "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": "L276"}, {"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": "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": "L283"}, {"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": "L287"}, {"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": "L290"}, {"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": "L292"}, {"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": "L293"}, {"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": "L294"}, {"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": "L297"}, {"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": "L370"}, {"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": "L371"}, {"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": "L372"}, {"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": "L379"}, {"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": "L380"}, {"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": "L382"}, {"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": "L382"}, {"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": "L389"}, {"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": "L394"}, {"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": "L427"}, {"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": "L430"}, {"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": "L475"}, {"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": "L484"}, {"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": "L486"}, {"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": "L486"}, {"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": "L486"}, {"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": "L487"}, {"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": "L490"}, {"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": "L495"}, {"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": "L501"}, {"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": "L501"}, {"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": "L505"}, {"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": "L506"}, {"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": "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": "L524"}, {"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": "L529"}, {"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": "L534"}, {"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": "L539"}, {"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": "L544"}, {"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": "L549"}, {"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": "L554"}, {"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": "L559"}, {"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": "L561"}, {"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": "L572"}, {"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": "L573"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/ce36a3e74c0736726f47fc0512505d26ddf9611c8fae8fbda1fb4773d0e29dd4.json b/backend/graphify-out/cache/ast/ce36a3e74c0736726f47fc0512505d26ddf9611c8fae8fbda1fb4773d0e29dd4.json new file mode 100644 index 000000000..ed2109945 --- /dev/null +++ b/backend/graphify-out/cache/ast/ce36a3e74c0736726f47fc0512505d26ddf9611c8fae8fbda1fb4773d0e29dd4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34"}, {"id": "db_weighing_get_weighing", "label": "_get_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42"}, {"id": "db_weighing_apply_weighing_update", "label": "_apply_weighing_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60"}, {"id": "db_weighing_list_weighing", "label": "list_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82"}, {"id": "db_weighing_create_weighing", "label": "create_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"id": "weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170"}, {"id": "db_weighing_update_weighing", "label": "update_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280"}, {"id": "weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280"}, {"id": "db_weighing_void_weighing", "label": "void_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307"}, {"id": "db_weighing_delete_weighing", "label": "delete_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328"}, {"id": "db_weighing_weighingrelateddata", "label": "WeighingRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_get_weighing_related", "label": "get_weighing_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_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/weighing.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "app_services_db_weighing_logic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "db_weighing_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbweighingslip", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L42", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_apply_weighing_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "db_weighing_apply_weighing_update", "target": "dbweighingslip", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L60", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_list_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "weighingslipread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L82", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_create_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L170", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "db_weighing_get_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L269", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_update_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "weighingslipread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L280", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_void_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L307", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_delete_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L328", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_weighingrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341", "weight": 1.0}, {"source": "db_weighing_weighingrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L341", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_weighing_py", "target": "db_weighing_get_weighing_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L347", "weight": 1.0}, {"source": "db_weighing_list_weighing", "target": "db_weighing_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97", "weight": 1.0}, {"source": "db_weighing_create_weighing", "target": "dbweighingslip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L232", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L287", "weight": 1.0}, {"source": "db_weighing_update_weighing", "target": "db_weighing_apply_weighing_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L296", "weight": 1.0}, {"source": "db_weighing_void_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L313", "weight": 1.0}, {"source": "db_weighing_delete_weighing", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L334", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_get_weighing", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L353", "weight": 1.0}, {"source": "db_weighing_get_weighing_related", "target": "db_weighing_weighingrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L388", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_weighing_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L35"}, {"caller_nid": "db_weighing_get_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L44"}, {"caller_nid": "db_weighing_get_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L44"}, {"caller_nid": "db_weighing_get_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L53"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L61"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L64"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L68"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L72"}, {"caller_nid": "db_weighing_apply_weighing_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L77"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L96"}, {"caller_nid": "db_weighing_list_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L96"}, {"caller_nid": "db_weighing_list_weighing", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L97"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L100"}, {"caller_nid": "db_weighing_list_weighing", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L102"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L103"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L104"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L105"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L105"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L106"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L106"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L107"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L107"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L108"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L108"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L113"}, {"caller_nid": "db_weighing_list_weighing", "callee": "combine", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "time", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L116"}, {"caller_nid": "db_weighing_list_weighing", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L120"}, {"caller_nid": "db_weighing_list_weighing", "callee": "datetime_end_of_day", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L122"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L125"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L128"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L131"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L134"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L137"}, {"caller_nid": "db_weighing_list_weighing", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L140"}, {"caller_nid": "db_weighing_list_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L150"}, {"caller_nid": "db_weighing_list_weighing", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L152"}, {"caller_nid": "db_weighing_list_weighing", "callee": "inventory_date_to_api", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L158"}, {"caller_nid": "db_weighing_list_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L161"}, {"caller_nid": "db_weighing_list_weighing", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L163"}, {"caller_nid": "db_weighing_create_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L175"}, {"caller_nid": "db_weighing_create_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L175"}, {"caller_nid": "db_weighing_create_weighing", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L180"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L180"}, {"caller_nid": "db_weighing_create_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L189"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L197"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L201"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L201"}, {"caller_nid": "db_weighing_create_weighing", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L216"}, {"caller_nid": "db_weighing_create_weighing", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L216"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L225"}, {"caller_nid": "db_weighing_create_weighing", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L227"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L228"}, {"caller_nid": "db_weighing_create_weighing", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L233"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L235"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L236"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L237"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L240"}, {"caller_nid": "db_weighing_create_weighing", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L241"}, {"caller_nid": "db_weighing_create_weighing", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L243"}, {"caller_nid": "db_weighing_create_weighing", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L259"}, {"caller_nid": "db_weighing_create_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L260"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L261"}, {"caller_nid": "db_weighing_create_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L263"}, {"caller_nid": "db_weighing_create_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L264"}, {"caller_nid": "db_weighing_create_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L265"}, {"caller_nid": "db_weighing_get_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L274"}, {"caller_nid": "db_weighing_get_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L274"}, {"caller_nid": "db_weighing_get_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L276"}, {"caller_nid": "db_weighing_update_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L286"}, {"caller_nid": "db_weighing_update_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L286"}, {"caller_nid": "db_weighing_update_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L290"}, {"caller_nid": "db_weighing_update_weighing", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L295"}, {"caller_nid": "db_weighing_update_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L298"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L299"}, {"caller_nid": "db_weighing_update_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L301"}, {"caller_nid": "db_weighing_update_weighing", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L302"}, {"caller_nid": "db_weighing_update_weighing", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L303"}, {"caller_nid": "db_weighing_void_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_void_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L312"}, {"caller_nid": "db_weighing_void_weighing", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L316"}, {"caller_nid": "db_weighing_void_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L323"}, {"caller_nid": "db_weighing_void_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L324"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L333"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L333"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L337"}, {"caller_nid": "db_weighing_delete_weighing", "callee": "process_weighing_business_logic", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L338"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L352"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L358"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L358"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L367"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L380"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L380"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L389"}, {"caller_nid": "db_weighing_get_weighing_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py", "source_location": "L390"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14.json b/backend/graphify-out/cache/ast/cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14.json new file mode 100644 index 000000000..9c67d8466 --- /dev/null +++ b/backend/graphify-out/cache/ast/cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "label": "product_helpers.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L1"}, {"id": "db_product_helpers_productsnapshot", "label": "ProductSnapshot", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L13"}, {"id": "db_product_helpers_resolve_crm_product", "label": "resolve_crm_product()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19"}, {"id": "db_product_helpers_apply_product_snapshot_to_plan", "label": "apply_product_snapshot_to_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L51"}, {"id": "db_product_helpers_apply_product_snapshot_to_inventory", "label": "apply_product_snapshot_to_inventory()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L57"}, {"id": "db_product_helpers_apply_product_snapshot_to_weighing", "label": "apply_product_snapshot_to_weighing()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L63"}, {"id": "db_product_helpers_rationale_1", "label": "\u5730\u78c5\u6a21\u5757 \u2014 CRM \u4ea7\u54c1\u89e3\u6790\u4e0e\u5feb\u7167\u5199\u5165\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L1"}, {"id": "db_product_helpers_rationale_20", "label": "\u6821\u9a8c CRM \u4ea7\u54c1\u5e76\u8fd4\u56de\u540d\u79f0/\u89c4\u683c\u5feb\u7167\u3002\u65b0\u5efa\u5355\u636e product_id \u5fc5\u586b\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L20"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "app_crud_crm_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "db_product_helpers_productsnapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "db_product_helpers_resolve_crm_product", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19", "weight": 1.0}, {"source": "db_product_helpers_resolve_crm_product", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19", "weight": 1.0}, {"source": "db_product_helpers_resolve_crm_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19", "weight": 1.0}, {"source": "db_product_helpers_resolve_crm_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19", "weight": 1.0}, {"source": "db_product_helpers_resolve_crm_product", "target": "db_product_helpers_productsnapshot", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "db_product_helpers_apply_product_snapshot_to_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L51", "weight": 1.0}, {"source": "db_product_helpers_apply_product_snapshot_to_plan", "target": "db_product_helpers_productsnapshot", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "db_product_helpers_apply_product_snapshot_to_inventory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L57", "weight": 1.0}, {"source": "db_product_helpers_apply_product_snapshot_to_inventory", "target": "db_product_helpers_productsnapshot", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "target": "db_product_helpers_apply_product_snapshot_to_weighing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_product_helpers_apply_product_snapshot_to_weighing", "target": "db_product_helpers_productsnapshot", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L63", "weight": 1.0}, {"source": "db_product_helpers_resolve_crm_product", "target": "db_product_helpers_productsnapshot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L48", "weight": 1.0}, {"source": "db_product_helpers_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_product_helpers_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L1", "weight": 1.0}, {"source": "db_product_helpers_rationale_20", "target": "db_product_helpers_resolve_crm_product", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L20", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L21"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L23"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "get_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L28"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L30"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L35"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L40"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L42"}, {"caller_nid": "db_product_helpers_resolve_crm_product", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py", "source_location": "L47"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2.json b/backend/graphify-out/cache/ast/cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2.json new file mode 100644 index 000000000..21fd0b2ce --- /dev/null +++ b/backend/graphify-out/cache/ast/cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "label": "vehicle.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L1"}, {"id": "db_vehicle_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13"}, {"id": "db_vehicle_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17"}, {"id": "db_vehicle_normalize_vehicle_no", "label": "_normalize_vehicle_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L32"}, {"id": "db_vehicle_vehicle_no_exists", "label": "vehicle_no_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36"}, {"id": "db_vehicle_vehicleservice", "label": "VehicleService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L56"}, {"id": "db_vehicle_vehicleservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58"}, {"id": "db_vehicle_vehicleservice_list_vehicles", "label": ".list_vehicles()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63"}, {"id": "db_vehicle_vehicleservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87"}, {"id": "db_vehicle_vehicleservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117"}, {"id": "db_vehicle_vehicleservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_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/vehicle.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "app_services_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "db_vehicle_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "db_vehicle_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "db_vehicle_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "db_vehicle_total_pages", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "db_vehicle_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17", "weight": 1.0}, {"source": "db_vehicle_row_to_dict", "target": "dbvehicle", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17", "weight": 1.0}, {"source": "db_vehicle_row_to_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17", "weight": 1.0}, {"source": "db_vehicle_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "db_vehicle_normalize_vehicle_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L32", "weight": 1.0}, {"source": "db_vehicle_normalize_vehicle_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L32", "weight": 1.0}, {"source": "db_vehicle_normalize_vehicle_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "db_vehicle_vehicle_no_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L36", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_vehicle_py", "target": "db_vehicle_vehicleservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L56", "weight": 1.0}, {"source": "db_vehicle_vehicleservice", "target": "db_vehicle_vehicleservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L58", "weight": 1.0}, {"source": "db_vehicle_vehicleservice", "target": "db_vehicle_vehicleservice_list_vehicles", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L63", "weight": 1.0}, {"source": "db_vehicle_vehicleservice", "target": "db_vehicle_vehicleservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "dbvehicle", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L87", "weight": 1.0}, {"source": "db_vehicle_vehicleservice", "target": "db_vehicle_vehicleservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "dbvehicle", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L117", "weight": 1.0}, {"source": "db_vehicle_vehicleservice", "target": "db_vehicle_vehicleservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L154", "weight": 1.0}, {"source": "db_vehicle_vehicle_no_exists", "target": "db_vehicle_normalize_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L43", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_get_by_id", "target": "db_vehicle_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L60", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_list_vehicles", "target": "db_vehicle_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L84", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "db_vehicle_normalize_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L97", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_create", "target": "db_vehicle_vehicle_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L100", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "db_vehicle_normalize_vehicle_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L135", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "db_vehicle_vehicle_no_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L138", "weight": 1.0}, {"source": "db_vehicle_vehicleservice_update", "target": "db_vehicle_vehicleservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L142", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_vehicle_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L26"}, {"caller_nid": "db_vehicle_row_to_dict", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L28"}, {"caller_nid": "db_vehicle_normalize_vehicle_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L33"}, {"caller_nid": "db_vehicle_vehicle_no_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L46"}, {"caller_nid": "db_vehicle_vehicle_no_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L53"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L72"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L75"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L75"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L75"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L75"}, {"caller_nid": "db_vehicle_vehicleservice_list_vehicles", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L76"}, {"caller_nid": "db_vehicle_vehicleservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L99"}, {"caller_nid": "db_vehicle_vehicleservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L101"}, {"caller_nid": "db_vehicle_vehicleservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L131"}, {"caller_nid": "db_vehicle_vehicleservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L137"}, {"caller_nid": "db_vehicle_vehicleservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py", "source_location": "L139"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a.json b/backend/graphify-out/cache/ast/d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a.json new file mode 100644 index 000000000..e9dd4bc67 --- /dev/null +++ b/backend/graphify-out/cache/ast/d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "label": "auto_generate_plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1"}, {"id": "db_auto_generate_plans_month_range", "label": "month_range()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17"}, {"id": "db_auto_generate_plans_get_last_month_range", "label": "get_last_month_range()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28"}, {"id": "db_auto_generate_plans_run_auto_generate_monthly_plans", "label": "run_auto_generate_monthly_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "db_auto_generate_plans_rationale_1", "label": "\u5730\u78c5\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210 \u2014 \u8fc1\u79fb\u81ea simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1"}, {"id": "db_auto_generate_plans_rationale_41", "label": "\u6309\u6708\u81ea\u52a8\u751f\u6210\u91c7\u8d2d\u8ba1\u5212\u3002 - \u9ed8\u8ba4\u4ec5\u5728\u6bcf\u6708 1 \u65e5\u6267\u884c\uff08force=True \u65f6\u8df3\u8fc7\u8be5\u9650\u5236\uff0c\u4f9b\u624b\u52a8\u89e6\u53d1\u9a8c\u6536\uff09 - \u904d\u5386\u6240\u6709\u79df\u6237\uff0c\u6309\u4e0a\u6708\u8ba1\u5212\u6a21\u677f\u751f", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L41"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_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/auto_generate_plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_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/db/auto_generate_plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_month_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_get_last_month_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_run_auto_generate_monthly_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "db_auto_generate_plans_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L30", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "db_auto_generate_plans_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L58", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "db_auto_generate_plans_get_last_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L59", "weight": 1.0}, {"source": "db_auto_generate_plans_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1", "weight": 1.0}, {"source": "db_auto_generate_plans_rationale_41", "target": "db_auto_generate_plans_run_auto_generate_monthly_plans", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L41", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L19"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L21"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L23"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L24"}, {"caller_nid": "db_auto_generate_plans_get_last_month_range", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L31"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L47"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L50"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L54"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L57"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L61"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L72"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L74"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L77"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L78"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L81"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L82"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L93"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L100"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "DbPurchasePlan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L104"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L105"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L107"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "default_execution_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L119"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L129"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L133"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L134"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d2a391c7aef5cecb3d1c3790fe9f46ff9ccadf6adadf34a61d8e740c252e1855.json b/backend/graphify-out/cache/ast/d2a391c7aef5cecb3d1c3790fe9f46ff9ccadf6adadf34a61d8e740c252e1855.json new file mode 100644 index 000000000..9bca11e2c --- /dev/null +++ b/backend/graphify-out/cache/ast/d2a391c7aef5cecb3d1c3790fe9f46ff9ccadf6adadf34a61d8e740c252e1855.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": "L15"}, {"id": "db_init_rationale_16", "label": "P0 \u5065\u5eb7\u68c0\u67e5\uff1a\u9a8c\u8bc1 db \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L16"}], "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": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L5", "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": "L15", "weight": 1.0}, {"source": "db_init_rationale_16", "target": "db_init_db_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L16", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_init_db_health", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L17"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d2a416ff9daedad88780cbe3f14ea75e8299044f8787afb60e731f43963dc405.json b/backend/graphify-out/cache/ast/d2a416ff9daedad88780cbe3f14ea75e8299044f8787afb60e731f43963dc405.json new file mode 100644 index 000000000..f30f4402e --- /dev/null +++ b/backend/graphify-out/cache/ast/d2a416ff9daedad88780cbe3f14ea75e8299044f8787afb60e731f43963dc405.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L1"}, {"id": "tasks_init_init_scheduled_tasks", "label": "init_scheduled_tasks()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L10"}, {"id": "tasks_init_shutdown_scheduler", "label": "shutdown_scheduler()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L63"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_init_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_init_py", "target": "apscheduler_schedulers_background", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_init_py", "target": "tasks_init_init_scheduled_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_tasks_init_py", "target": "tasks_init_shutdown_scheduler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L63", "weight": 1.0}], "raw_calls": [{"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "start", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L14"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L15"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "add_job", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L25"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "add_job", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L31"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "add_job", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L37"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "add_job", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L43"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "add_job", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L49"}, {"caller_nid": "tasks_init_init_scheduled_tasks", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L55"}, {"caller_nid": "tasks_init_shutdown_scheduler", "callee": "shutdown", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L65"}, {"caller_nid": "tasks_init_shutdown_scheduler", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py", "source_location": "L66"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f.json b/backend/graphify-out/cache/ast/d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f.json new file mode 100644 index 000000000..fdec872f0 --- /dev/null +++ b/backend/graphify-out/cache/ast/d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "label": "base.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L1"}, {"id": "db_base_dbcrudservice", "label": "DbCrudService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L13"}, {"id": "db_base_dbcrudservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15"}, {"id": "m", "label": "M", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15"}, {"id": "db_base_dbcrudservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22"}, {"id": "db_base_dbcrudservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44"}, {"id": "db_base_dbcrudservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64"}, {"id": "db_base_dbcrudservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84"}, {"id": "db_base_rationale_1", "label": "\u5730\u78c5\u6a21\u5757 Service \u57fa\u7c7b \u2014 \u79df\u6237\u9694\u79bb + UUID + \u8f6f\u5220\u9664\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "target": "db_base_dbcrudservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L13", "weight": 1.0}, {"source": "db_base_dbcrudservice", "target": "db_base_dbcrudservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_by_id", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L15", "weight": 1.0}, {"source": "db_base_dbcrudservice", "target": "db_base_dbcrudservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice_get_paged", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L22", "weight": 1.0}, {"source": "db_base_dbcrudservice", "target": "db_base_dbcrudservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice_create", "target": "m", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L44", "weight": 1.0}, {"source": "db_base_dbcrudservice", "target": "db_base_dbcrudservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L64", "weight": 1.0}, {"source": "db_base_dbcrudservice", "target": "db_base_dbcrudservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "m", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L84", "weight": 1.0}, {"source": "db_base_dbcrudservice_update", "target": "db_base_dbcrudservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L73", "weight": 1.0}, {"source": "db_base_dbcrudservice_soft_delete", "target": "db_base_dbcrudservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L85", "weight": 1.0}, {"source": "db_base_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_base_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_base_dbcrudservice_get_by_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L16"}, {"caller_nid": "db_base_dbcrudservice_get_by_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L19"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L30"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L35"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L37"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L37"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L37"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L39"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L39"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L40"}, {"caller_nid": "db_base_dbcrudservice_get_paged", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L40"}, {"caller_nid": "db_base_dbcrudservice_create", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L54"}, {"caller_nid": "db_base_dbcrudservice_create", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L54"}, {"caller_nid": "db_base_dbcrudservice_create", "callee": "model", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L58"}, {"caller_nid": "db_base_dbcrudservice_create", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L59"}, {"caller_nid": "db_base_dbcrudservice_create", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L60"}, {"caller_nid": "db_base_dbcrudservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L76"}, {"caller_nid": "db_base_dbcrudservice_update", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L80"}, {"caller_nid": "db_base_dbcrudservice_soft_delete", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py", "source_location": "L91"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d514e0b317997706dabcc6826e36ebccae40705d557ef660cea53ff0c5fcbff9.json b/backend/graphify-out/cache/ast/d514e0b317997706dabcc6826e36ebccae40705d557ef660cea53ff0c5fcbff9.json new file mode 100644 index 000000000..f8b86b883 --- /dev/null +++ b/backend/graphify-out/cache/ast/d514e0b317997706dabcc6826e36ebccae40705d557ef660cea53ff0c5fcbff9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_weighingslipbase", "label": "WeighingSlipBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "db_weighing_weighingslipbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}, {"source": "db_weighing_weighingslipread", "target": "db_weighing_weighingslipbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L31", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d5d864a6099b9fa6bae46d0bd564933100a910b43595c11aa9c43d78fc8994d6.json b/backend/graphify-out/cache/ast/d5d864a6099b9fa6bae46d0bd564933100a910b43595c11aa9c43d78fc8994d6.json new file mode 100644 index 000000000..2b0b8cc5a --- /dev/null +++ b/backend/graphify-out/cache/ast/d5d864a6099b9fa6bae46d0bd564933100a910b43595c11aa9c43d78fc8994d6.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": "L17"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L17"}, {"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": "L27"}, {"id": "db_mappers_vehicle_to_read", "label": "vehicle_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"id": "dbvehicle", "label": "DbVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"id": "vehicleread", "label": "VehicleRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35"}, {"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": "L43"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L43"}, {"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": "L72"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L72"}, {"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": "L85"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L85"}, {"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": "L89"}, {"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": "L95"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L95"}, {"id": "dbweighingslip", "label": "DbWeighingSlip", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L95"}, {"id": "inboundoutboundread", "label": "InboundOutboundRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L95"}, {"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": "L144"}, {"id": "weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L144"}, {"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": "L175"}, {"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": "L179"}, {"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": "L188"}, {"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_master_data", "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_plans", "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": "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": "L14", "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": "L17", "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": "L17", "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": "L17", "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": "L17", "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": "L17", "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": "L27", "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": "L27", "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": "L27", "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": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_mappers_py", "target": "db_mappers_vehicle_to_read", "relation": "contains", "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_vehicle_to_read", "target": "dbvehicle", "relation": "references", "context": "parameter_type", "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_vehicle_to_read", "target": "vehicleread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L35", "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": "L43", "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": "L43", "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": "L43", "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": "L43", "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": "L72", "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": "L72", "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": "L72", "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": "L72", "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": "L72", "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": "L85", "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": "L85", "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": "L85", "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": "L89", "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": "L89", "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": "L89", "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": "L95", "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": "L95", "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": "L95", "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": "L95", "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": "L144", "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": "L144", "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": "L144", "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": "L144", "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": "L175", "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": "L175", "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": "L175", "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": "L179", "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": "L179", "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": "L179", "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": "L188", "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": "L188", "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": "L188", "weight": 1.0}, {"source": "db_mappers_vehicle_to_read", "target": "vehicleread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py", "source_location": "L36", "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": "L44", "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": "L47", "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": "L59", "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": "L78", "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": "L79", "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": "L90", "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": "L92", "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": "L112", "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": "L117", "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": "L119", "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": "L145", "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": "L157", "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": "L183", "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": "L21"}, {"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": "L23"}, {"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": "L31"}, {"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": "L68"}, {"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": "L80"}, {"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": "L114"}, {"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": "L133"}, {"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": "L170"}, {"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": "L176"}, {"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": "L176"}, {"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": "L183"}, {"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": "L193"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e.json b/backend/graphify-out/cache/ast/d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e.json new file mode 100644 index 000000000..efeacf8a4 --- /dev/null +++ b/backend/graphify-out/cache/ast/d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "label": "vehicle.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L1"}, {"id": "db_vehicle_vehiclecreatebody", "label": "VehicleCreateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L7"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_vehicle_vehicleupdatebody", "label": "VehicleUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L13"}, {"id": "db_vehicle_rationale_1", "label": "\u5730\u78c5-\u8f66\u724c Pydantic schemas", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "target": "db_vehicle_vehiclecreatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L7", "weight": 1.0}, {"source": "db_vehicle_vehiclecreatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "target": "db_vehicle_vehicleupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "db_vehicle_vehicleupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L13", "weight": 1.0}, {"source": "db_vehicle_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_vehicle_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383.json b/backend/graphify-out/cache/ast/e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383.json new file mode 100644 index 000000000..3971b622e --- /dev/null +++ b/backend/graphify-out/cache/ast/e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L1"}, {"id": "db_plan_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14"}, {"id": "db_plan_generate_plan_no", "label": "generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L18"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L18"}, {"id": "db_plan_parse_date", "label": "_parse_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L24"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L24"}, {"id": "db_plan_format_date", "label": "_format_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L36"}, {"id": "db_plan_format_datetime", "label": "_format_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L42"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L42"}, {"id": "db_plan_default_execution_status", "label": "_default_execution_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L48"}, {"id": "db_plan_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52"}, {"id": "db_plan_planservice", "label": "PlanService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L83"}, {"id": "db_plan_planservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85"}, {"id": "db_plan_planservice_list_plans", "label": ".list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90"}, {"id": "db_plan_planservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154"}, {"id": "db_plan_planservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206"}, {"id": "db_plan_planservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262"}, {"id": "db_plan_rationale_19", "label": "\u751f\u6210\u8ba1\u5212\u53f7\uff1aSX-YYYYMMDDHHMMSS001\uff08\u5bf9\u9f50\u539f\u7cfb\u7edf\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L19"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_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/plan.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "app_services_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "db_plan_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "db_plan_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "db_plan_total_pages", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L18", "weight": 1.0}, {"source": "db_plan_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_parse_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L24", "weight": 1.0}, {"source": "db_plan_parse_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L24", "weight": 1.0}, {"source": "db_plan_parse_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_format_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L36", "weight": 1.0}, {"source": "db_plan_format_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L36", "weight": 1.0}, {"source": "db_plan_format_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L36", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_format_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L42", "weight": 1.0}, {"source": "db_plan_format_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L42", "weight": 1.0}, {"source": "db_plan_format_datetime", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L42", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_default_execution_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plan_default_execution_status", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plan_default_execution_status", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plan_row_to_dict", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plan_row_to_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "db_plan_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_plan_py", "target": "db_plan_planservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "db_plan_planservice", "target": "db_plan_planservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L85", "weight": 1.0}, {"source": "db_plan_planservice", "target": "db_plan_planservice_list_plans", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L90", "weight": 1.0}, {"source": "db_plan_planservice", "target": "db_plan_planservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L154", "weight": 1.0}, {"source": "db_plan_planservice", "target": "db_plan_planservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "dbpurchaseplan", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L206", "weight": 1.0}, {"source": "db_plan_planservice", "target": "db_plan_planservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_planservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_planservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_planservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_planservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_planservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L262", "weight": 1.0}, {"source": "db_plan_parse_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L31", "weight": 1.0}, {"source": "db_plan_row_to_dict", "target": "db_plan_format_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L56", "weight": 1.0}, {"source": "db_plan_row_to_dict", "target": "db_plan_format_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L66", "weight": 1.0}, {"source": "db_plan_planservice_get_by_id", "target": "db_plan_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L87", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "db_plan_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L131", "weight": 1.0}, {"source": "db_plan_planservice_list_plans", "target": "db_plan_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L151", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "db_plan_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L170", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "db_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L174", "weight": 1.0}, {"source": "db_plan_planservice_create", "target": "db_plan_default_execution_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L177", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "db_plan_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L236", "weight": 1.0}, {"source": "db_plan_planservice_update", "target": "db_plan_planservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L250", "weight": 1.0}, {"source": "db_plan_rationale_19", "target": "db_plan_generate_plan_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plan_generate_plan_no", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L20"}, {"caller_nid": "db_plan_generate_plan_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L21"}, {"caller_nid": "db_plan_parse_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L27"}, {"caller_nid": "db_plan_parse_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L31"}, {"caller_nid": "db_plan_parse_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L33"}, {"caller_nid": "db_plan_format_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L39"}, {"caller_nid": "db_plan_format_datetime", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L45"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L105"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L110"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L114"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L115"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L116"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L117"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L122"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L122"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L137"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L141"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L144"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L146"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L146"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L146"}, {"caller_nid": "db_plan_planservice_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L146"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L162"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L162"}, {"caller_nid": "db_plan_planservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L164"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L166"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L166"}, {"caller_nid": "db_plan_planservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L168"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L170"}, {"caller_nid": "db_plan_planservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L172"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L174"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L174"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L175"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L175"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L182"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L183"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L186"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L186"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L187"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L188"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L188"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L189"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L189"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L192"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L193"}, {"caller_nid": "db_plan_planservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L194"}, {"caller_nid": "db_plan_planservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L194"}, {"caller_nid": "db_plan_planservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L231"}, {"caller_nid": "db_plan_planservice_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L238"}, {"caller_nid": "db_plan_planservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L240"}, {"caller_nid": "db_plan_planservice_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L242"}, {"caller_nid": "db_plan_planservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py", "source_location": "L244"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013.json b/backend/graphify-out/cache/ast/e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013.json new file mode 100644 index 000000000..d262bad9c --- /dev/null +++ b/backend/graphify-out/cache/ast/e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "label": "inventory.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L1"}, {"id": "db_inventory_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15"}, {"id": "db_inventory_parse_date", "label": "_parse_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19"}, {"id": "db_inventory_format_date", "label": "_format_date()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L31"}, {"id": "db_inventory_format_datetime", "label": "_format_datetime()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L37"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L37"}, {"id": "db_inventory_default_status", "label": "_default_status()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/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/services/db/inventory.py", "source_location": "L47"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L47"}, {"id": "db_inventory_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68"}, {"id": "dbinboundoutbound", "label": "DbInboundOutbound", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68"}, {"id": "db_inventory_inventoryservice", "label": "InventoryService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L92"}, {"id": "db_inventory_inventoryservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94"}, {"id": "db_inventory_inventoryservice_list_inventories", "label": ".list_inventories()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99"}, {"id": "db_inventory_inventoryservice_resolve_plan_link", "label": "._resolve_plan_link()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164"}, {"id": "db_inventory_inventoryservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179"}, {"id": "db_inventory_inventoryservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240"}, {"id": "db_inventory_inventoryservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308"}, {"id": "db_inventory_rationale_48", "label": "\u751f\u6210\u51fa\u5165\u5e93\u5355\u53f7 CRKDH0000001 \u9012\u589e\uff08\u5bf9\u9f50\u539f\u7cfb\u7edf\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L48"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_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/services/db/inventory.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "app_services_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_total_pages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_total_pages", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15", "weight": 1.0}, {"source": "db_inventory_total_pages", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_parse_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "db_inventory_parse_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "db_inventory_parse_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_format_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L31", "weight": 1.0}, {"source": "db_inventory_format_date", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L31", "weight": 1.0}, {"source": "db_inventory_format_date", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_format_datetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L37", "weight": 1.0}, {"source": "db_inventory_format_datetime", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L37", "weight": 1.0}, {"source": "db_inventory_format_datetime", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L37", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_default_status", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "db_inventory_default_status", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "db_inventory_default_status", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L43", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_generate_batch_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L47", "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/services/db/inventory.py", "source_location": "L47", "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/services/db/inventory.py", "source_location": "L47", "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/services/db/inventory.py", "source_location": "L47", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68", "weight": 1.0}, {"source": "db_inventory_row_to_dict", "target": "dbinboundoutbound", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68", "weight": 1.0}, {"source": "db_inventory_row_to_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68", "weight": 1.0}, {"source": "db_inventory_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L68", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_inventory_py", "target": "db_inventory_inventoryservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L92", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L94", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_list_inventories", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L99", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_resolve_plan_link", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L164", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "dbinboundoutbound", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L179", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "dbinboundoutbound", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L240", "weight": 1.0}, {"source": "db_inventory_inventoryservice", "target": "db_inventory_inventoryservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_inventoryservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_inventoryservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_inventoryservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_inventoryservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_inventoryservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L308", "weight": 1.0}, {"source": "db_inventory_parse_date", "target": "date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L26", "weight": 1.0}, {"source": "db_inventory_row_to_dict", "target": "db_inventory_format_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L71", "weight": 1.0}, {"source": "db_inventory_row_to_dict", "target": "db_inventory_format_datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L86", "weight": 1.0}, {"source": "db_inventory_inventoryservice_get_by_id", "target": "db_inventory_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L96", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "db_inventory_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L137", "weight": 1.0}, {"source": "db_inventory_inventoryservice_list_inventories", "target": "db_inventory_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L161", "weight": 1.0}, {"source": "db_inventory_inventoryservice_resolve_plan_link", "target": "db_inventory_inventoryservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L172", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "db_inventory_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L191", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "db_inventory_generate_batch_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L207", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "db_inventory_inventoryservice_resolve_plan_link", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L208", "weight": 1.0}, {"source": "db_inventory_inventoryservice_create", "target": "db_inventory_default_status", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L215", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "db_inventory_parse_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L267", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "db_inventory_inventoryservice_resolve_plan_link", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L285", "weight": 1.0}, {"source": "db_inventory_inventoryservice_update", "target": "db_inventory_inventoryservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L296", "weight": 1.0}, {"source": "db_inventory_rationale_48", "target": "db_inventory_generate_batch_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L48", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_inventory_parse_date", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L22"}, {"caller_nid": "db_inventory_parse_date", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L26"}, {"caller_nid": "db_inventory_parse_date", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L28"}, {"caller_nid": "db_inventory_format_date", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L34"}, {"caller_nid": "db_inventory_format_datetime", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L40"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L50"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L54"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "compile", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L59"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L62"}, {"caller_nid": "db_inventory_generate_batch_no", "callee": "group", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L64"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L114"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L119"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L123"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L124"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L125"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L126"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L127"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L133"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L133"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L149"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L149"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L152"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L152"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L154"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L156"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L156"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L156"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L156"}, {"caller_nid": "db_inventory_inventoryservice_list_inventories", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L156"}, {"caller_nid": "db_inventory_inventoryservice_resolve_plan_link", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L174"}, {"caller_nid": "db_inventory_inventoryservice_resolve_plan_link", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L175"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L187"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L187"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L189"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L191"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L193"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L195"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L195"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L197"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L199"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L199"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L201"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L203"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L203"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L205"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L207"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L207"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L211"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L212"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L215"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L215"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L222"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L228"}, {"caller_nid": "db_inventory_inventoryservice_create", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L228"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L262"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L269"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L271"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L273"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L275"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L277"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L279"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "ValueError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L281"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L289"}, {"caller_nid": "db_inventory_inventoryservice_update", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py", "source_location": "L289"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/ee28db7df54c9fb9cc6ea17d85b684718f0d4effe1e13babbc33df7d859406a0.json b/backend/graphify-out/cache/ast/ee28db7df54c9fb9cc6ea17d85b684718f0d4effe1e13babbc33df7d859406a0.json new file mode 100644 index 000000000..2d7d98f72 --- /dev/null +++ b/backend/graphify-out/cache/ast/ee28db7df54c9fb9cc6ea17d85b684718f0d4effe1e13babbc33df7d859406a0.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": "L13"}, {"id": "db_init_rationale_14", "label": "P0 \u5065\u5eb7\u68c0\u67e5\uff1a\u9a8c\u8bc1 db \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L14"}], "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": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L5", "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": "L13", "weight": 1.0}, {"source": "db_init_rationale_14", "target": "db_init_db_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_init_db_health", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py", "source_location": "L15"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892.json b/backend/graphify-out/cache/ast/f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892.json new file mode 100644 index 000000000..5294433bf --- /dev/null +++ b/backend/graphify-out/cache/ast/f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_dashboard_py", "label": "dashboard.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L1"}, {"id": "db_dashboard_dashboardstats", "label": "DashboardStats", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_dashboard_dashboardcargostat", "label": "DashboardCargoStat", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L14"}, {"id": "db_dashboard_dashboardpartnercargostat", "label": "DashboardPartnerCargoStat", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L20"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_dashboard_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_dashboard_py", "target": "db_dashboard_dashboardstats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L6", "weight": 1.0}, {"source": "db_dashboard_dashboardstats", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_dashboard_py", "target": "db_dashboard_dashboardcargostat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L14", "weight": 1.0}, {"source": "db_dashboard_dashboardcargostat", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_dashboard_py", "target": "db_dashboard_dashboardpartnercargostat", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L20", "weight": 1.0}, {"source": "db_dashboard_dashboardpartnercargostat", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py", "source_location": "L20", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f.json b/backend/graphify-out/cache/ast/f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f.json new file mode 100644 index 000000000..bb15b693d --- /dev/null +++ b/backend/graphify-out/cache/ast/f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L1"}, {"id": "api_init_rationale_1", "label": "API \u8def\u7531\u5305 \u2014 \u5c71\u5ce1\u5316\u5de5\u751f\u4ea7\u4e00\u4f53\u5316\u95e8\u6237", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_public", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_menu", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_admin", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_workflow", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_leave", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_crm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_monitor", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_bx", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "target": "app_api_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "api_init_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_api_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e.json b/backend/graphify-out/cache/ast/f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e.json new file mode 100644 index 000000000..f1cd5bb81 --- /dev/null +++ b/backend/graphify-out/cache/ast/f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "label": "weighing.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1"}, {"id": "db_weighing_weighingslipbase", "label": "WeighingSlipBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_weighing_weighingslipcreate", "label": "WeighingSlipCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L33"}, {"id": "db_weighing_weighingslipupdate", "label": "WeighingSlipUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L58"}, {"id": "db_weighing_weighingslipread", "label": "WeighingSlipRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L86"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "db_weighing_weighingslipbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L33", "weight": 1.0}, {"source": "db_weighing_weighingslipcreate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L58", "weight": 1.0}, {"source": "db_weighing_weighingslipupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L58", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_db_weighing_py", "target": "db_weighing_weighingslipread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L86", "weight": 1.0}, {"source": "db_weighing_weighingslipread", "target": "db_weighing_weighingslipbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py", "source_location": "L86", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f805a2acc33b50b19f2a9f45aee221bcb201437eb016efcae605b189731c756c.json b/backend/graphify-out/cache/ast/f805a2acc33b50b19f2a9f45aee221bcb201437eb016efcae605b189731c756c.json new file mode 100644 index 000000000..486643f29 --- /dev/null +++ b/backend/graphify-out/cache/ast/f805a2acc33b50b19f2a9f45aee221bcb201437eb016efcae605b189731c756c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "label": "auto_generate_plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1"}, {"id": "db_auto_generate_plans_month_range", "label": "month_range()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17"}, {"id": "db_auto_generate_plans_get_last_month_range", "label": "get_last_month_range()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28"}, {"id": "db_auto_generate_plans_run_auto_generate_monthly_plans", "label": "run_auto_generate_monthly_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35"}, {"id": "db_auto_generate_plans_rationale_1", "label": "\u5730\u78c5\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210 \u2014 \u8fc1\u79fb\u81ea simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1"}, {"id": "db_auto_generate_plans_rationale_41", "label": "\u6309\u6708\u81ea\u52a8\u751f\u6210\u91c7\u8d2d\u8ba1\u5212\u3002 - \u9ed8\u8ba4\u4ec5\u5728\u6bcf\u6708 1 \u65e5\u6267\u884c\uff08force=True \u65f6\u8df3\u8fc7\u8be5\u9650\u5236\uff0c\u4f9b\u624b\u52a8\u89e6\u53d1\u9a8c\u6536\uff09 - \u904d\u5386\u6240\u6709\u79df\u6237\uff0c\u6309\u4e0a\u6708\u8ba1\u5212\u6a21\u677f\u751f", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L41"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_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/auto_generate_plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_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/db/auto_generate_plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_month_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "db_auto_generate_plans_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_get_last_month_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "target": "db_auto_generate_plans_run_auto_generate_monthly_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L35", "weight": 1.0}, {"source": "db_auto_generate_plans_get_last_month_range", "target": "db_auto_generate_plans_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L30", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "db_auto_generate_plans_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L58", "weight": 1.0}, {"source": "db_auto_generate_plans_run_auto_generate_monthly_plans", "target": "db_auto_generate_plans_get_last_month_range", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L59", "weight": 1.0}, {"source": "db_auto_generate_plans_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_services_db_auto_generate_plans_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L1", "weight": 1.0}, {"source": "db_auto_generate_plans_rationale_41", "target": "db_auto_generate_plans_run_auto_generate_monthly_plans", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L41", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L19"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L21"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L23"}, {"caller_nid": "db_auto_generate_plans_month_range", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L24"}, {"caller_nid": "db_auto_generate_plans_get_last_month_range", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L31"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L47"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L50"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L54"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L57"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L61"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L72"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L74"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L77"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L78"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L81"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L82"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L93"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L100"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "DbPurchasePlan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L104"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L105"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L107"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "default_execution_status", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L118"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L128"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L132"}, {"caller_nid": "db_auto_generate_plans_run_auto_generate_monthly_plans", "callee": "info", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py", "source_location": "L133"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f846254028fb0814af9cb2f82f72fbef34a017264c40a299a74badaf9476e1ea.json b/backend/graphify-out/cache/ast/f846254028fb0814af9cb2f82f72fbef34a017264c40a299a74badaf9476e1ea.json new file mode 100644 index 000000000..780b5af60 --- /dev/null +++ b/backend/graphify-out/cache/ast/f846254028fb0814af9cb2f82f72fbef34a017264c40a299a74badaf9476e1ea.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "label": "plans.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1"}, {"id": "db_plans_base_query", "label": "_base_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40"}, {"id": "db_plans_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "purchaseplanwithfilllink", "label": "PurchasePlanWithFillLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48"}, {"id": "db_plans_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185"}, {"id": "db_plans_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "purchaseplancreate", "label": "PurchasePlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "purchaseplanread", "label": "PurchasePlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192"}, {"id": "db_plans_autogeneratemonthlyresult", "label": "AutoGenerateMonthlyResult", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "db_plans_run_auto_generate_monthly", "label": "run_auto_generate_monthly()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241"}, {"id": "db_plans_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255"}, {"id": "db_plans_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266"}, {"id": "purchaseplanupdate", "label": "PurchasePlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266"}, {"id": "db_plans_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283"}, {"id": "dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295"}, {"id": "db_plans_get_plan_by_id_only", "label": "_get_plan_by_id_only()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309"}, {"id": "db_plans_apply_plan_update", "label": "_apply_plan_update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323"}, {"id": "db_plans_planrelateddata", "label": "PlanRelatedData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344"}, {"id": "db_plans_get_plan_related", "label": "get_plan_related()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350"}, {"id": "db_plans_thirdpartyplanpagedata", "label": "ThirdPartyPlanPageData", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391"}, {"id": "db_plans_get_third_party_plan_page", "label": "get_third_party_plan_page()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398"}, {"id": "db_plans_rationale_246", "label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210\uff08\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246"}, {"id": "db_plans_rationale_402", "label": "\u4e09\u65b9 H5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e\uff08\u65e0\u9700\u95e8\u6237\u767b\u5f55\uff0c\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L402"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_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/plans.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_base_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "db_plans_base_query", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L40", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "purchaseplanwithfilllink", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185", "weight": 1.0}, {"source": "db_plans_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L185", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L192", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_autogeneratemonthlyresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234", "weight": 1.0}, {"source": "db_plans_autogeneratemonthlyresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L234", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_run_auto_generate_monthly", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L241", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L255", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "purchaseplanread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L266", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "db_plans_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L283", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L295", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_by_id_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "db_plans_get_plan_by_id_only", "target": "dbpurchaseplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_apply_plan_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323", "weight": 1.0}, {"source": "db_plans_apply_plan_update", "target": "dbpurchaseplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L323", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_planrelateddata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344", "weight": 1.0}, {"source": "db_plans_planrelateddata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L344", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_plan_related", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L350", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_thirdpartyplanpagedata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391", "weight": 1.0}, {"source": "db_plans_thirdpartyplanpagedata", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L391", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_db_plans_py", "target": "db_plans_get_third_party_plan_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L398", "weight": 1.0}, {"source": "db_plans_list_plans", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "db_plans_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L198", "weight": 1.0}, {"source": "db_plans_create_plan", "target": "dbpurchaseplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L204", "weight": 1.0}, {"source": "db_plans_run_auto_generate_monthly", "target": "db_plans_autogeneratemonthlyresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L251", "weight": 1.0}, {"source": "db_plans_update_plan", "target": "db_plans_apply_plan_update", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L275", "weight": 1.0}, {"source": "db_plans_get_plan", "target": "db_plans_base_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L297", "weight": 1.0}, {"source": "db_plans_get_plan_related", "target": "db_plans_planrelateddata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L385", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_get_plan_by_id_only", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L403", "weight": 1.0}, {"source": "db_plans_get_third_party_plan_page", "target": "db_plans_thirdpartyplanpagedata", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L449", "weight": 1.0}, {"source": "db_plans_rationale_246", "target": "db_plans_run_auto_generate_monthly", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L246", "weight": 1.0}, {"source": "db_plans_rationale_402", "target": "db_plans_get_third_party_plan_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L402", "weight": 1.0}], "raw_calls": [{"caller_nid": "db_plans_base_query", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L41"}, {"caller_nid": "db_plans_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L70"}, {"caller_nid": "db_plans_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L70"}, {"caller_nid": "db_plans_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L71"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L74"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L76"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L77"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L77"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L78"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L78"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L79"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L79"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L84"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L88"}, {"caller_nid": "db_plans_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L92"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L107"}, {"caller_nid": "db_plans_list_plans", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L112"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L122"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L126"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L140"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L143"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L143"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L145"}, {"caller_nid": "db_plans_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L145"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L146"}, {"caller_nid": "db_plans_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L146"}, {"caller_nid": "db_plans_list_plans", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L149"}, {"caller_nid": "db_plans_list_plans", "callee": "label", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L152"}, {"caller_nid": "db_plans_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L175"}, {"caller_nid": "db_plans_list_plans", "callee": "plan_to_read_with_fill_link", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L176"}, {"caller_nid": "db_plans_list_plans", "callee": "calc_executed_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L178"}, {"caller_nid": "db_plans_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L179"}, {"caller_nid": "db_plans_generate_plan_no", "callee": "generate_plan_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L188"}, {"caller_nid": "db_plans_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L197"}, {"caller_nid": "db_plans_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L197"}, {"caller_nid": "db_plans_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L205"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L208"}, {"caller_nid": "db_plans_create_plan", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L208"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L209"}, {"caller_nid": "db_plans_create_plan", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L210"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L212"}, {"caller_nid": "db_plans_create_plan", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L216"}, {"caller_nid": "db_plans_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L228"}, {"caller_nid": "db_plans_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L229"}, {"caller_nid": "db_plans_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L230"}, {"caller_nid": "db_plans_create_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L231"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L247"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L247"}, {"caller_nid": "db_plans_run_auto_generate_monthly", "callee": "run_auto_generate_monthly_plans", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L250"}, {"caller_nid": "db_plans_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"caller_nid": "db_plans_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L260"}, {"caller_nid": "db_plans_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L261"}, {"caller_nid": "db_plans_get_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L262"}, {"caller_nid": "db_plans_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L272"}, {"caller_nid": "db_plans_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L273"}, {"caller_nid": "db_plans_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L274"}, {"caller_nid": "db_plans_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L277"}, {"caller_nid": "db_plans_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L278"}, {"caller_nid": "db_plans_update_plan", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L279"}, {"caller_nid": "db_plans_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L288"}, {"caller_nid": "db_plans_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L288"}, {"caller_nid": "db_plans_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L289"}, {"caller_nid": "db_plans_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L292"}, {"caller_nid": "db_plans_get_plan", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L297"}, {"caller_nid": "db_plans_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L302"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "one_or_none", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L311"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L311"}, {"caller_nid": "db_plans_get_plan_by_id_only", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L316"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L324"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L327"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L334"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "parse_datetime_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L337"}, {"caller_nid": "db_plans_apply_plan_update", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L340"}, {"caller_nid": "db_plans_get_plan_related", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L355"}, {"caller_nid": "db_plans_get_plan_related", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L355"}, {"caller_nid": "db_plans_get_plan_related", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L356"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L359"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L359"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L365"}, {"caller_nid": "db_plans_get_plan_related", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L369"}, {"caller_nid": "db_plans_get_plan_related", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L376"}, {"caller_nid": "db_plans_get_plan_related", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L383"}, {"caller_nid": "db_plans_get_plan_related", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L383"}, {"caller_nid": "db_plans_get_plan_related", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L386"}, {"caller_nid": "db_plans_get_plan_related", "callee": "weighing_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L387"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L406"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L411"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L416"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L421"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "parse_date_str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L422"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L424"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L431"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L431"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L435"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L437"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L437"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L445"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L445"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "plan_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L450"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L451"}, {"caller_nid": "db_plans_get_third_party_plan_page", "callee": "inventory_to_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py", "source_location": "L452"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/f861c2880f880eb6b7107280ce7e0a3b90cc8f7fee97e2410920483ba43af616.json b/backend/graphify-out/cache/ast/f861c2880f880eb6b7107280ce7e0a3b90cc8f7fee97e2410920483ba43af616.json new file mode 100644 index 000000000..ed1c9a992 --- /dev/null +++ b/backend/graphify-out/cache/ast/f861c2880f880eb6b7107280ce7e0a3b90cc8f7fee97e2410920483ba43af616.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": "L58"}, {"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": "L66"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L66"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L66"}, {"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": "L82"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L82"}, {"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": "L106"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L106"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L106"}, {"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": "L116"}, {"id": "engine", "label": "Engine", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L116"}, {"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": "L122"}, {"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": "L127"}, {"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": "L147"}, {"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": "L152"}, {"id": "scripts_migrate_dibang_data_transform_vehicle", "label": "transform_vehicle()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L161"}, {"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": "L178"}, {"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": "L219"}, {"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": "L257"}, {"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": "L375"}, {"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": "L383"}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L383"}, {"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": "L391"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L391"}, {"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": "L420"}, {"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": "L528"}, {"id": "scripts_migrate_dibang_data_rationale_148", "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": "L148"}], "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": "L58", "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": "L66", "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": "L66", "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": "L66", "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": "L82", "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": "L82", "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": "L82", "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": "L106", "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": "L106", "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": "L106", "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": "L106", "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": "L106", "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": "L106", "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": "L116", "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": "L116", "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": "L116", "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": "L122", "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": "L122", "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": "L122", "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": "L122", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L127", "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": "L147", "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": "L147", "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": "L147", "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": "L152", "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": "L152", "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": "L152", "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": "L152", "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": "L152", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_scripts_migrate_dibang_data_py", "target": "scripts_migrate_dibang_data_transform_vehicle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L161", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L161", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L161", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L161", "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": "L178", "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": "L178", "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": "L178", "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": "L178", "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": "L178", "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": "L219", "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": "L219", "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": "L219", "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": "L219", "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": "L219", "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": "L219", "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": "L219", "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": "L257", "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": "L257", "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": "L257", "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": "L257", "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": "L257", "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": "L257", "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": "L257", "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": "L375", "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": "L375", "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": "L383", "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": "L383", "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": "L383", "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": "L383", "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": "L383", "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": "L391", "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": "L391", "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": "L391", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L420", "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": "L528", "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": "L528", "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": "L76", "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": "L102", "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": "L156", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L162", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_transform_vehicle", "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": "L168", "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": "L186", "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": "L187", "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": "L187", "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": "L209", "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": "L226", "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": "L229", "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": "L229", "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": "L238", "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": "L247", "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": "L264", "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": "L284", "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": "L303", "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": "L430", "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": "L434", "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": "L440", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_migrate", "target": "scripts_migrate_dibang_data_transform_vehicle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L444", "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": "L448", "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": "L458", "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": "L468", "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": "L485", "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": "L492", "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": "L498", "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": "L503", "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": "L521", "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": "L581", "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": "L584", "weight": 1.0}, {"source": "scripts_migrate_dibang_data_rationale_148", "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": "L148", "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": "L71"}, {"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": "L76"}, {"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": "L79"}, {"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": "L87"}, {"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": "L99"}, {"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": "L103"}, {"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": "L103"}, {"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": "L112"}, {"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": "L117"}, {"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": "L118"}, {"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": "L118"}, {"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": "L123"}, {"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": "L124"}, {"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": "L124"}, {"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": "L124"}, {"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": "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": "L141"}, {"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": "L141"}, {"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": "L143"}, {"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": "L154"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L162"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L162"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L165"}, {"caller_nid": "scripts_migrate_dibang_data_transform_vehicle", "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_vehicle", "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": "L186"}, {"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": "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": "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": "L192"}, {"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": "L193"}, {"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_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L198"}, {"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": "L199"}, {"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": "L200"}, {"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": "L201"}, {"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": "L203"}, {"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": "L204"}, {"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": "L205"}, {"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": "L206"}, {"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": "L209"}, {"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": "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": "L226"}, {"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": "L226"}, {"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": "L229"}, {"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_inventory", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py", "source_location": "L235"}, {"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": "L237"}, {"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": "L240"}, {"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": "L243"}, {"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": "L247"}, {"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": "L253"}, {"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": "now", "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": "L265"}, {"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": "L266"}, {"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": "L273"}, {"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": "L282"}, {"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": "L283"}, {"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": "L286"}, {"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": "L289"}, {"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": "L293"}, {"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": "L296"}, {"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": "L298"}, {"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": "L299"}, {"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": "L300"}, {"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": "L303"}, {"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": "L376"}, {"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": "L377"}, {"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": "L378"}, {"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": "L385"}, {"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": "L386"}, {"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": "L388"}, {"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": "L388"}, {"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": "L395"}, {"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": "L400"}, {"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": "L433"}, {"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": "L436"}, {"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": "L481"}, {"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": "L490"}, {"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": "L492"}, {"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": "L492"}, {"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": "L492"}, {"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": "L493"}, {"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": "L496"}, {"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": "L501"}, {"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": "L507"}, {"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": "L507"}, {"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": "L511"}, {"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": "L512"}, {"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": "L529"}, {"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": "L530"}, {"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": "L535"}, {"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": "L540"}, {"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": "L545"}, {"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": "L550"}, {"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": "L555"}, {"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": "L560"}, {"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": "L565"}, {"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": "L567"}, {"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": "L578"}, {"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": "L579"}]} \ No newline at end of file diff --git a/backend/graphify-out/cache/ast/fac658c6227740a52e6e3ed1c1540d0790de51d595051cccb376f50735235a65.json b/backend/graphify-out/cache/ast/fac658c6227740a52e6e3ed1c1540d0790de51d595051cccb376f50735235a65.json new file mode 100644 index 000000000..2446d0642 --- /dev/null +++ b/backend/graphify-out/cache/ast/fac658c6227740a52e6e3ed1c1540d0790de51d595051cccb376f50735235a65.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_dbvehicle", "label": "DbVehicle", "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_dbpurchaseplan", "label": "DbPurchasePlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27"}, {"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": "L61"}, {"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": "L88"}, {"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_dbvehicle", "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_dbvehicle", "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_dbpurchaseplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py", "source_location": "L27", "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": "L27", "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": "L61", "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": "L61", "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": "L88", "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": "L88", "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/stat-index.json b/backend/graphify-out/cache/stat-index.json index c745677b3..f8bd81d52 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":4650,"mtime_ns":1780750556882139523,"hash":"5906745ed3a9a4a62ccfec436a8fac62e8c6cb5c5a61715bb1979a7e5bef804a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":1634,"mtime_ns":1780201410115316494,"hash":"9ee508b67da0044015aff95ebddaf52a5ba551ccfee772bf134ca88e2d482e72"},"/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":5692,"mtime_ns":1780750556882308648,"hash":"a1404064f42d27efcdf287062da76d4cc863112aa1f2ace1bf86c2f72e8faef9"},"/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":1155,"mtime_ns":1780112936528830094,"hash":"67396fe48b60d10ff4f4ff2fadf227fb5d15ef5fc873005c271023c910ce2ef5"},"/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":615,"mtime_ns":1780750556883158277,"hash":"3d3ad114f06247fcff5e1a5c0d9467f4ecd507b3729c29d3bdeb3421300cca01"},"/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":64202,"mtime_ns":1780743830221045470,"hash":"eb2d69511ac768622bcb47e55a4d0263fb9098409f633b9ab480e8bdec37b7ef"},"/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":7314,"mtime_ns":1780743830220875345,"hash":"75859ecc807b96f8559ec1ac1a6452c207e860f9d2bed1aa2ab7574fd37c3d85"},"/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":24164,"mtime_ns":1780743830250534751,"hash":"ef1950976cc858bc0d1eba9b31968e736491056a3d15d86079df690662972249"},"/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":1780758461405229612,"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":1780758461405088403,"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":1780758461405325778,"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":1780758461405257028,"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":1780758461405296487,"hash":"3d7fbbb90728568a2577e52d8986ccbec8f599d04a0ef9e330939d1fe729bc98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_routes.py":{"size":27213,"mtime_ns":1780758461405109236,"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":1780758461406041448,"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":1589,"mtime_ns":1780750556882959109,"hash":"c9d8d20d9af9ccc1c30f6d7116e7666b53817693f4ab25c01ea451dc46a7f12a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16454,"mtime_ns":1780752873936800885,"hash":"5cbe170d19fdb5f5abf34d2e87709430e9dd89f2fd5cb13314af556dd0867582"},"/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":1238,"mtime_ns":1780750556882896026,"hash":"1b8a1b82dcabdcb1a2957ac9c53d2ae128869a55439c77208ec3b0342380eeed"},"/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":1780758906889243180,"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":5389,"mtime_ns":1780751335184916214,"hash":"d6aa4d137ee5f96962ddc7c35a719aa658338f13ccbd378d35758fa73d76de70"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":13829,"mtime_ns":1780758906744178121,"hash":"db3a00f89c6343929dbbd1cf5891821fea7670d9630a83ef826da3b7abddc596"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":28550,"mtime_ns":1780758908405342166,"hash":"c49d87c90dd0169443162e7d2fc637f739e0c61712ecbeee34a967ae052306a5"},"/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"}} \ 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":4768,"mtime_ns":1780804651826808366,"hash":"0c0bc07c70c6023ba9d24f07c3cd5ac11d232fc6b71675d9b05c487a2fdafeab"},"/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":5718,"mtime_ns":1780804662266921460,"hash":"85261e9e51795aec9f592bad3c140ee58738f7fb36e3cf6117aaa7ef436dcf7c"},"/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":1155,"mtime_ns":1780112936528830094,"hash":"67396fe48b60d10ff4f4ff2fadf227fb5d15ef5fc873005c271023c910ce2ef5"},"/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":64202,"mtime_ns":1780743830221045470,"hash":"eb2d69511ac768622bcb47e55a4d0263fb9098409f633b9ab480e8bdec37b7ef"},"/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":7314,"mtime_ns":1780743830220875345,"hash":"75859ecc807b96f8559ec1ac1a6452c207e860f9d2bed1aa2ab7574fd37c3d85"},"/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":24164,"mtime_ns":1780743830250534751,"hash":"ef1950976cc858bc0d1eba9b31968e736491056a3d15d86079df690662972249"},"/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":1780934821610728882,"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":1780934821617282913,"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":1780934821617337330,"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":1780934821617223746,"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":1589,"mtime_ns":1780750556882959109,"hash":"c9d8d20d9af9ccc1c30f6d7116e7666b53817693f4ab25c01ea451dc46a7f12a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16454,"mtime_ns":1780752873936800885,"hash":"5cbe170d19fdb5f5abf34d2e87709430e9dd89f2fd5cb13314af556dd0867582"},"/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":1238,"mtime_ns":1780750556882896026,"hash":"1b8a1b82dcabdcb1a2957ac9c53d2ae128869a55439c77208ec3b0342380eeed"},"/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":5389,"mtime_ns":1780751335184916214,"hash":"d6aa4d137ee5f96962ddc7c35a719aa658338f13ccbd378d35758fa73d76de70"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":13829,"mtime_ns":1780758906744178121,"hash":"db3a00f89c6343929dbbd1cf5891821fea7670d9630a83ef826da3b7abddc596"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":28550,"mtime_ns":1780758908405342166,"hash":"c49d87c90dd0169443162e7d2fc637f739e0c61712ecbeee34a967ae052306a5"},"/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"}} \ No newline at end of file diff --git a/backend/graphify-out/graph.html b/backend/graphify-out/graph.html index 12104667d..53abb4b83 100644 --- a/backend/graphify-out/graph.html +++ b/backend/graphify-out/graph.html @@ -63,12 +63,12 @@
-