diff --git a/.gitignore b/.gitignore
index 59f1735dc..b2e7a5b99 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,3 +80,6 @@ htmlcov/
# 上传与导出(业务附件、导出文件等本地目录)
uploads/
exports/
+
+# uni-app 编译产物
+miniprogram/unpackage/
diff --git a/backend/app.pid b/backend/app.pid
index 336af4cb0..14e083ef4 100644
--- a/backend/app.pid
+++ b/backend/app.pid
@@ -1 +1 @@
-37220
+82692
diff --git a/backend/app/api/bx/advance.py b/backend/app/api/bx/advance.py
index a8ad18cb8..8a18b6b5d 100644
--- a/backend/app/api/bx/advance.py
+++ b/backend/app/api/bx/advance.py
@@ -21,7 +21,7 @@ from app.schemas.bx.common import ApiResponse, PagedData
from app.services.bx.advance import AdvanceService
from app.services.bx.expense_item import ExpenseItemService
from app.utils.bx_codegen import generate_apply_code
-from app.utils.bx_date_range import parse_create_time_day_bounds
+from app.utils.bx_date_range import append_create_time_filters
router = APIRouter(prefix="/advances", tags=["备用金管理"])
@@ -46,6 +46,8 @@ def list_advances(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -62,11 +64,13 @@ def list_advances(
)
if applicantId:
filters.append(BxAdvanceApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxAdvanceApply.create_time >= d0)
- filters.append(BxAdvanceApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxAdvanceApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = AdvanceService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
out_rows = [AdvanceApplyOut.model_validate(r) for r in rows]
_fill_offset_amounts(db, tenant_no, rows, out_rows)
@@ -80,6 +84,8 @@ def my_advances(
status: Optional[str] = None,
keyword: str = "",
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -99,11 +105,13 @@ def my_advances(
BxAdvanceApply.applicant_name.contains(keyword),
)
)
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxAdvanceApply.create_time >= d0)
- filters.append(BxAdvanceApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxAdvanceApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = AdvanceService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
out_rows = [AdvanceApplyOut.model_validate(r) for r in rows]
_fill_offset_amounts(db, tenant_no, rows, out_rows)
@@ -136,6 +144,8 @@ def pending_approval(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -150,6 +160,8 @@ def pending_approval(
keyword=keyword,
applicant_id=applicant_id,
apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
)
out_rows = [AdvanceApplyOut.model_validate(r) for r in rows]
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
@@ -172,6 +184,8 @@ def approved_by_me(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -186,6 +200,8 @@ def approved_by_me(
keyword=keyword,
applicant_id=applicant_id,
apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
)
out_rows = [AdvanceApplyOut.model_validate(r) for r in rows]
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
diff --git a/backend/app/api/bx/payment.py b/backend/app/api/bx/payment.py
index 27de62209..b57a81a54 100644
--- a/backend/app/api/bx/payment.py
+++ b/backend/app/api/bx/payment.py
@@ -31,7 +31,7 @@ from app.schemas.bx.reimburse import (
from app.services.bx.advance import AdvanceService
from app.services.bx.attachment import AttachmentService
from app.services.bx.reimburse import ReimburseService
-from app.utils.bx_date_range import parse_create_time_day_bounds
+from app.utils.bx_date_range import append_create_time_filters
router = APIRouter(prefix="/payments", tags=["支付处理"])
@@ -51,6 +51,8 @@ def list_pending_payments(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -65,11 +67,13 @@ def list_pending_payments(
)
if applicantId:
filters.append(BxReimburseApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxReimburseApply.create_time >= d0)
- filters.append(BxReimburseApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxReimburseApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = ReimburseService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
outs = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(
@@ -94,6 +98,8 @@ def list_processed_payments(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -108,11 +114,13 @@ def list_processed_payments(
)
if applicantId:
filters.append(BxReimburseApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxReimburseApply.create_time >= d0)
- filters.append(BxReimburseApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxReimburseApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = ReimburseService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
outs = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(
@@ -194,6 +202,8 @@ def list_advance_issues(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -215,11 +225,13 @@ def list_advance_issues(
)
if applicantId:
filters.append(BxAdvanceApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxAdvanceApply.create_time >= d0)
- filters.append(BxAdvanceApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxAdvanceApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = AdvanceService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
out_rows = [AdvanceIssueOut.model_validate(r) for r in rows]
if out_rows:
@@ -245,6 +257,8 @@ def export_advance_issues(
keyword: str = "",
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -266,11 +280,13 @@ def export_advance_issues(
)
if applicantId:
filters.append(BxAdvanceApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxAdvanceApply.create_time >= d0)
- filters.append(BxAdvanceApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxAdvanceApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, _ = AdvanceService.get_paged(db, tenant_no, page=1, page_size=99999, filters=filters, user=user)
out_rows = [AdvanceIssueOut.model_validate(r) for r in rows]
diff --git a/backend/app/api/bx/reimburse.py b/backend/app/api/bx/reimburse.py
index eef1770b7..9fc27c498 100644
--- a/backend/app/api/bx/reimburse.py
+++ b/backend/app/api/bx/reimburse.py
@@ -21,7 +21,7 @@ from app.schemas.bx.reimburse import (
from app.services.bx.expense_item import ExpenseItemService
from app.services.bx.reimburse import ReimburseService
from app.utils.bx_codegen import generate_apply_code, generate_title
-from app.utils.bx_date_range import parse_create_time_day_bounds
+from app.utils.bx_date_range import append_create_time_filters
router = APIRouter(prefix="/reimburses", tags=["报销管理"])
@@ -70,8 +70,11 @@ def list_reimburses(
status: Optional[str] = None,
keyword: str = "",
expense_id: Optional[str] = None,
+ expenseName: Optional[str] = None,
applicantId: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -84,17 +87,23 @@ def list_reimburses(
or_(
BxReimburseApply.apply_code.contains(keyword),
BxReimburseApply.applicant_name.contains(keyword),
+ BxReimburseApply.title.contains(keyword),
)
)
if expense_id:
filters.append(BxReimburseApply.expense_id == str(expense_id).strip())
+ expense_filter = ReimburseService.build_expense_name_condition(db, tenant_no, expenseName)
+ if expense_filter is not None:
+ filters.append(expense_filter)
if applicantId:
filters.append(BxReimburseApply.applicant_id == str(applicantId).strip())
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxReimburseApply.create_time >= d0)
- filters.append(BxReimburseApply.create_time < d1)
+ append_create_time_filters(
+ filters,
+ BxReimburseApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = ReimburseService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
out_rows = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
@@ -106,7 +115,10 @@ def my_reimburses(
pageSize: int = 10,
status: Optional[str] = None,
keyword: str = "",
+ expenseName: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -124,13 +136,19 @@ def my_reimburses(
or_(
BxReimburseApply.apply_code.contains(keyword),
BxReimburseApply.applicant_name.contains(keyword),
+ BxReimburseApply.title.contains(keyword),
)
)
- bounds = parse_create_time_day_bounds(applyDate)
- if bounds:
- d0, d1 = bounds
- filters.append(BxReimburseApply.create_time >= d0)
- filters.append(BxReimburseApply.create_time < d1)
+ expense_filter = ReimburseService.build_expense_name_condition(db, tenant_no, expenseName)
+ if expense_filter is not None:
+ filters.append(expense_filter)
+ append_create_time_filters(
+ filters,
+ BxReimburseApply,
+ apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
+ )
rows, total = ReimburseService.get_paged(db, tenant_no, page=page, page_size=pageSize, filters=filters, user=user)
out_rows = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
@@ -161,7 +179,10 @@ def pending_approval(
pageSize: int = 10,
keyword: str = "",
applicantId: Optional[str] = None,
+ expenseName: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -175,7 +196,10 @@ def pending_approval(
page_size=pageSize,
keyword=keyword,
applicant_id=applicant_id,
+ expense_name=expenseName,
apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
)
out_rows = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
@@ -197,7 +221,10 @@ def approved_by_me(
pageSize: int = 10,
keyword: str = "",
applicantId: Optional[str] = None,
+ expenseName: Optional[str] = None,
applyDate: Optional[str] = None,
+ applyDateFrom: Optional[str] = None,
+ applyDateTo: Optional[str] = None,
db: Session = Depends(get_db),
user: BxUserContext = Depends(get_bx_current_user),
):
@@ -211,7 +238,10 @@ def approved_by_me(
page_size=pageSize,
keyword=keyword,
applicant_id=applicant_id,
+ expense_name=expenseName,
apply_date=applyDate,
+ apply_date_from=applyDateFrom,
+ apply_date_to=applyDateTo,
)
out_rows = ReimburseService.out_rows_with_attachment_counts(db, tenant_no, list(rows))
return ApiResponse(data=PagedData(rows=out_rows, total=total, page=page, page_size=pageSize))
diff --git a/backend/app/api/pl/freight.py b/backend/app/api/pl/freight.py
index a93cdd83a..d9be0fefd 100644
--- a/backend/app/api/pl/freight.py
+++ b/backend/app/api/pl/freight.py
@@ -29,7 +29,7 @@ router = APIRouter(prefix="/freight", tags=["运输计划-运费结算"])
def _generate_settlement_no(db: Session) -> str:
today = date.today()
- prefix = f"SXJS{today.strftime('%Y%m%d')}"
+ prefix = f"YF{today.strftime('%Y%m%d')}"
last = (
db.query(PlFreightSettlement)
@@ -41,8 +41,8 @@ def _generate_settlement_no(db: Session) -> str:
.first()
)
- seq = int(last.settlement_no[-4:]) + 1 if last else 1
- return f"{prefix}{seq:04d}"
+ seq = int(last.settlement_no[-2:]) + 1 if last else 1
+ return f"{prefix}{seq:02d}"
@router.get("/unsettled-plans", response_model=UnsettledPlanListResponse)
diff --git a/backend/app/api/pl/plan.py b/backend/app/api/pl/plan.py
index 714ce5dd3..81ae646dd 100644
--- a/backend/app/api/pl/plan.py
+++ b/backend/app/api/pl/plan.py
@@ -33,6 +33,7 @@ from app.schemas.pl.plan import (
PlanArchiveBody,
PlanCreate,
PlanCreateFull,
+ PlanDriverFeedbackUpdateBody,
HazardCertReadyBody,
PlanInboundSlipTemplateSave,
PlanDeliverySlipTemplateSave,
@@ -42,6 +43,7 @@ from app.schemas.pl.plan import (
PlanProductCertsUpdate,
PlanProductRead,
PlanRead,
+ PlanSiteFeedbackUpdateBody,
PlanUpdate,
PlanWithProducts,
)
@@ -53,7 +55,10 @@ from app.services.pl_transport_site_service import revoke_site_links_for_transpo
from app.services.pl_plan_service import (
apply_archive_freight,
apply_archive_product_quantities,
+ apply_plan_driver_feedback,
+ apply_plan_site_feedback,
apply_vehicle_prefill_to_plan,
+ assert_contract_selectable_for_plan,
build_plan_product,
calc_plan_total_amount,
clear_draft_transport_for_plan,
@@ -275,6 +280,7 @@ def list_plans(
plan_ids = [plan.id for plan in plans]
products_by_plan: dict[str, list[PlPlanProduct]] = {}
+ all_products: list[PlPlanProduct] = []
if plan_ids:
all_products = (
db.query(PlPlanProduct)
@@ -441,6 +447,7 @@ def create_plan_full(
"""创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输)"""
validate_create_full(payload)
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
+ assert_contract_selectable_for_plan(db, payload.contract_id, tenant_no)
plan_no = _generate_plan_no(db)
plan_type = payload.plan_type or _determine_plan_type(payload.supplier_name, payload.destination_name)
@@ -558,6 +565,8 @@ def create_from_contract(
if not contract:
raise HTTPException(status_code=404, detail="合同不存在")
+ assert_contract_selectable_for_plan(db, contract.id, tenant_no)
+
# 生成计划编号
plan_no = _generate_plan_no(db)
@@ -1111,6 +1120,71 @@ def archive_plan(
return get_plan(id, db, user)
+@router.patch("/{id}/driver-feedback", response_model=PlanWithProducts)
+def update_plan_driver_feedback(
+ id: str,
+ payload: PlanDriverFeedbackUpdateBody,
+ db: Session = Depends(get_db),
+ user: DbUserContext = Depends(get_db_current_user),
+) -> PlanWithProducts:
+ tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
+ plan = _get_plan(db, tenant_no, id, user)
+ apply_plan_driver_feedback(
+ db,
+ tenant_no=tenant_no,
+ plan=plan,
+ payload=payload,
+ user_id=user.id,
+ )
+ record_plan_change(
+ db,
+ tenant_no=tenant_no,
+ plan_id=plan.id,
+ change_type="feedback_adjust",
+ change_content="归档人员更新司机回传信息",
+ user_id=user.id,
+ user_name=user.name or None,
+ dept_id=user.dept_id,
+ )
+ plan.update_by = user.id
+ db.commit()
+ return get_plan(id, db, user)
+
+
+@router.patch("/{id}/site-feedback/{link_id}", response_model=PlanWithProducts)
+def update_plan_site_feedback(
+ id: str,
+ link_id: str,
+ payload: PlanSiteFeedbackUpdateBody,
+ db: Session = Depends(get_db),
+ user: DbUserContext = Depends(get_db_current_user),
+) -> PlanWithProducts:
+ tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
+ plan = _get_plan(db, tenant_no, id, user)
+ link = apply_plan_site_feedback(
+ db,
+ tenant_no=tenant_no,
+ plan=plan,
+ link_id=link_id,
+ payload=payload,
+ user_id=user.id,
+ )
+ product_label = (link.product or "现场").strip()
+ record_plan_change(
+ db,
+ tenant_no=tenant_no,
+ plan_id=plan.id,
+ change_type="feedback_adjust",
+ change_content=f"归档人员更新现场回传信息({product_label})",
+ user_id=user.id,
+ user_name=user.name or None,
+ dept_id=user.dept_id,
+ )
+ plan.update_by = user.id
+ db.commit()
+ return get_plan(id, db, user)
+
+
# =============================================================================
# 入库单打印模板
# =============================================================================
diff --git a/backend/app/schemas/pl/plan.py b/backend/app/schemas/pl/plan.py
index 5f3be8884..068da0e59 100644
--- a/backend/app/schemas/pl/plan.py
+++ b/backend/app/schemas/pl/plan.py
@@ -313,6 +313,27 @@ class PlanArchiveBody(BaseModel):
model_config = {"populate_by_name": True}
+class PlanDriverFeedbackUpdateBody(BaseModel):
+ feedback_qty: Optional[Decimal] = Field(default=None, alias="feedbackQty", ge=0, description="回传数量")
+ feedback_remark: Optional[str] = Field(default=None, alias="feedbackRemark", max_length=500, description="回传备注")
+ feedback_images: Optional[list[str]] = Field(default=None, alias="feedbackImages", description="回传附件URLs")
+ feedback_time: OptionalPlanDateTime = Field(default=None, alias="feedbackTime", description="回传时间")
+ model_config = {"populate_by_name": True}
+
+
+class PlanSiteFeedbackUpdateBody(BaseModel):
+ site_feedback_remark: Optional[str] = Field(
+ default=None, alias="siteFeedbackRemark", max_length=500, description="现场回执备注"
+ )
+ site_feedback_images: Optional[list[str]] = Field(
+ default=None, alias="siteFeedbackImages", description="现场回执附件URLs"
+ )
+ site_feedback_time: OptionalPlanDateTime = Field(
+ default=None, alias="siteFeedbackTime", description="现场回执保存时间"
+ )
+ model_config = {"populate_by_name": True}
+
+
class PlanListResponse(BaseModel):
total: int
list: list[PlanWithProducts]
diff --git a/backend/app/services/bx/advance.py b/backend/app/services/bx/advance.py
index 48bcda016..56922fb91 100644
--- a/backend/app/services/bx/advance.py
+++ b/backend/app/services/bx/advance.py
@@ -20,7 +20,7 @@ from app.services.bx.approval_cycle import filter_current_cycle_approvals
from app.services.bx.base import BxCrudService
from app.services.bx_data_scope import apply_bx_scope
from app.utils.bx_codegen import generate_apply_code
-from app.utils.bx_date_range import current_month_bounds, parse_create_time_day_bounds
+from app.utils.bx_date_range import append_create_time_filters, current_month_bounds, resolve_create_time_bounds
class AdvanceService:
@@ -108,6 +108,8 @@ class AdvanceService:
keyword: str = "",
applicant_id: Optional[str] = None,
apply_date: Optional[str] = None,
+ apply_date_from: Optional[str] = None,
+ apply_date_to: Optional[str] = None,
):
subquery = (
db.query(BxAdvanceApply.id)
@@ -136,12 +138,15 @@ class AdvanceService:
)
if applicant_id:
subquery = subquery.filter(BxAdvanceApply.applicant_id == applicant_id)
- bounds = parse_create_time_day_bounds(apply_date)
- if bounds:
- d0, d1 = bounds
- subquery = subquery.filter(
- BxAdvanceApply.create_time >= d0, BxAdvanceApply.create_time < d1
- )
+ start, end = resolve_create_time_bounds(
+ apply_date=apply_date,
+ apply_date_from=apply_date_from,
+ apply_date_to=apply_date_to,
+ )
+ if start is not None:
+ subquery = subquery.filter(BxAdvanceApply.create_time >= start)
+ if end is not None:
+ subquery = subquery.filter(BxAdvanceApply.create_time < end)
subquery = subquery.subquery()
total = db.query(func.count()).select_from(subquery).scalar() or 0
rows = (
@@ -164,6 +169,8 @@ class AdvanceService:
keyword: str = "",
applicant_id: Optional[str] = None,
apply_date: Optional[str] = None,
+ apply_date_from: Optional[str] = None,
+ apply_date_to: Optional[str] = None,
):
subquery = (
db.query(BxAdvanceApproval.apply_id)
@@ -189,10 +196,15 @@ class AdvanceService:
)
if applicant_id:
query = query.filter(BxAdvanceApply.applicant_id == applicant_id)
- bounds = parse_create_time_day_bounds(apply_date)
- if bounds:
- d0, d1 = bounds
- query = query.filter(BxAdvanceApply.create_time >= d0, BxAdvanceApply.create_time < d1)
+ start, end = resolve_create_time_bounds(
+ apply_date=apply_date,
+ apply_date_from=apply_date_from,
+ apply_date_to=apply_date_to,
+ )
+ if start is not None:
+ query = query.filter(BxAdvanceApply.create_time >= start)
+ if end is not None:
+ query = query.filter(BxAdvanceApply.create_time < end)
query = apply_bx_scope(query, BxAdvanceApply, user, db, tenant_no)
total = query.count()
rows = (
diff --git a/backend/app/services/bx/reimburse.py b/backend/app/services/bx/reimburse.py
index 8b691b96a..befcaee3c 100644
--- a/backend/app/services/bx/reimburse.py
+++ b/backend/app/services/bx/reimburse.py
@@ -32,7 +32,7 @@ from app.utils.bx_codegen import (
parse_reimburse_date,
resolve_reimburse_title,
)
-from app.utils.bx_date_range import current_month_bounds, parse_create_time_day_bounds
+from app.utils.bx_date_range import current_month_bounds, resolve_create_time_bounds
_REIMBURSE_MY_STATS_PASSED_STATUSES = ("approved", "processed", "paid", "offset")
@@ -98,7 +98,10 @@ class ReimburseService:
page_size: int,
keyword: str = "",
applicant_id: Optional[str] = None,
+ expense_name: Optional[str] = None,
apply_date: Optional[str] = None,
+ apply_date_from: Optional[str] = None,
+ apply_date_to: Optional[str] = None,
):
subquery = (
db.query(BxReimburseApply.id)
@@ -123,16 +126,23 @@ class ReimburseService:
or_(
BxReimburseApply.apply_code.contains(keyword),
BxReimburseApply.applicant_name.contains(keyword),
+ BxReimburseApply.title.contains(keyword),
)
)
if applicant_id:
subquery = subquery.filter(BxReimburseApply.applicant_id == applicant_id)
- bounds = parse_create_time_day_bounds(apply_date)
- if bounds:
- d0, d1 = bounds
- subquery = subquery.filter(
- BxReimburseApply.create_time >= d0, BxReimburseApply.create_time < d1
- )
+ expense_filter = ReimburseService.build_expense_name_condition(db, tenant_no, expense_name)
+ if expense_filter is not None:
+ subquery = subquery.filter(expense_filter)
+ start, end = resolve_create_time_bounds(
+ apply_date=apply_date,
+ apply_date_from=apply_date_from,
+ apply_date_to=apply_date_to,
+ )
+ if start is not None:
+ subquery = subquery.filter(BxReimburseApply.create_time >= start)
+ if end is not None:
+ subquery = subquery.filter(BxReimburseApply.create_time < end)
subquery = subquery.subquery()
total = db.query(func.count()).select_from(subquery).scalar() or 0
rows = (
@@ -154,7 +164,10 @@ class ReimburseService:
page_size: int,
keyword: str = "",
applicant_id: Optional[str] = None,
+ expense_name: Optional[str] = None,
apply_date: Optional[str] = None,
+ apply_date_from: Optional[str] = None,
+ apply_date_to: Optional[str] = None,
):
subquery = (
db.query(BxReimburseApproval.apply_id)
@@ -176,14 +189,23 @@ class ReimburseService:
or_(
BxReimburseApply.apply_code.contains(keyword),
BxReimburseApply.applicant_name.contains(keyword),
+ BxReimburseApply.title.contains(keyword),
)
)
if applicant_id:
query = query.filter(BxReimburseApply.applicant_id == applicant_id)
- bounds = parse_create_time_day_bounds(apply_date)
- if bounds:
- d0, d1 = bounds
- query = query.filter(BxReimburseApply.create_time >= d0, BxReimburseApply.create_time < d1)
+ expense_filter = ReimburseService.build_expense_name_condition(db, tenant_no, expense_name)
+ if expense_filter is not None:
+ query = query.filter(expense_filter)
+ start, end = resolve_create_time_bounds(
+ apply_date=apply_date,
+ apply_date_from=apply_date_from,
+ apply_date_to=apply_date_to,
+ )
+ if start is not None:
+ query = query.filter(BxReimburseApply.create_time >= start)
+ if end is not None:
+ query = query.filter(BxReimburseApply.create_time < end)
query = apply_bx_scope(query, BxReimburseApply, user, db, tenant_no)
total = query.count()
rows = (
@@ -546,6 +568,47 @@ class ReimburseService:
.all()
)
+ @staticmethod
+ def build_expense_name_condition(
+ db: Session, tenant_no: str, expense_name: Optional[str]
+ ):
+ name_kw = str(expense_name or "").strip()
+ if not name_kw:
+ return None
+ detail_reimburse_ids = (
+ db.query(BxReimburseDetail.reimburse_id)
+ .filter(
+ BxReimburseDetail.tenant_no == tenant_no,
+ BxReimburseDetail.del_flag == 0,
+ BxReimburseDetail.expense_name.contains(name_kw),
+ )
+ )
+ return or_(
+ BxReimburseApply.expense_name.contains(name_kw),
+ BxReimburseApply.id.in_(detail_reimburse_ids),
+ )
+
+ @staticmethod
+ def get_details_map_by_reimburse_ids(
+ db: Session, reimburse_ids: List[str], tenant_no: str
+ ) -> Dict[str, List[BxReimburseDetail]]:
+ if not reimburse_ids:
+ return {}
+ detail_rows = (
+ db.query(BxReimburseDetail)
+ .filter(
+ BxReimburseDetail.reimburse_id.in_(reimburse_ids),
+ BxReimburseDetail.tenant_no == tenant_no,
+ BxReimburseDetail.del_flag == 0,
+ )
+ .order_by(BxReimburseDetail.create_time)
+ .all()
+ )
+ grouped: Dict[str, List[BxReimburseDetail]] = {}
+ for detail in detail_rows:
+ grouped.setdefault(detail.reimburse_id, []).append(detail)
+ return grouped
+
@staticmethod
def out_rows_with_attachment_counts(
db: Session, tenant_no: str, rows: List[BxReimburseApply]
@@ -556,11 +619,21 @@ class ReimburseService:
counts = AttachmentService.count_invoice_attach_by_biz_ids(
db, "reimburse_apply", ids, tenant_no
)
+ details_map = ReimburseService.get_details_map_by_reimburse_ids(db, ids, tenant_no)
out_list: List[ReimburseApplyOut] = []
for row in rows:
out = ReimburseApplyOut.model_validate(row)
inv, att = counts.get(row.id, (0, 0))
- out_list.append(out.model_copy(update={"invoice_count": inv, "attach_count": att}))
+ detail_rows = details_map.get(row.id, [])
+ out_list.append(
+ out.model_copy(
+ update={
+ "invoice_count": inv,
+ "attach_count": att,
+ "details": [ReimburseDetailOut.model_validate(d) for d in detail_rows],
+ }
+ )
+ )
return out_list
@staticmethod
diff --git a/backend/app/services/pl_plan_service.py b/backend/app/services/pl_plan_service.py
index 5eff6a482..b94bbfeb4 100644
--- a/backend/app/services/pl_plan_service.py
+++ b/backend/app/services/pl_plan_service.py
@@ -1,4 +1,5 @@
"""运输计划业务逻辑"""
+import json
from datetime import date, datetime
from decimal import Decimal
from typing import Optional, Union
@@ -17,6 +18,7 @@ from app.models.pl_models import (
PlPlanProduct,
PlPlanTransport,
PlTransport,
+ PlTransportSiteLink,
PlVehicle,
PlVehiclePersonnel,
)
@@ -24,7 +26,9 @@ from app.schemas.pl.plan import (
PlanArchiveFreightBlock,
PlanArchiveProductItem,
PlanCreateFull,
+ PlanDriverFeedbackUpdateBody,
PlanProductCreate,
+ PlanSiteFeedbackUpdateBody,
PlanTransportCreateBlock,
)
from app.services.pl_freight_settlement_service import sync_draft_settlement_freight_for_transport
@@ -881,6 +885,31 @@ def create_transport_for_plan(
return transport
+PLAN_SELECTABLE_CONTRACT_STATUSES = ("approved", "executing")
+
+
+def assert_contract_selectable_for_plan(
+ db: Session,
+ contract_id: str,
+ tenant_no: str,
+) -> None:
+ from app.models.crm_models import CrmContract
+
+ contract = (
+ db.query(CrmContract)
+ .filter(
+ CrmContract.id == contract_id,
+ CrmContract.tenant_no == tenant_no,
+ CrmContract.del_flag == 0,
+ )
+ .first()
+ )
+ if not contract:
+ raise HTTPException(status_code=404, detail="合同不存在")
+ if contract.status not in PLAN_SELECTABLE_CONTRACT_STATUSES:
+ raise HTTPException(status_code=422, detail="仅已审批或执行中的合同可关联运输计划")
+
+
def validate_create_full(payload: PlanCreateFull) -> None:
if not payload.contract_id:
raise HTTPException(status_code=422, detail="请选择合同")
@@ -1091,3 +1120,76 @@ def record_plan_change(
create_dept_id=dept_id,
)
)
+
+
+def apply_plan_driver_feedback(
+ db: Session,
+ *,
+ tenant_no: str,
+ plan: PlPlan,
+ payload: PlanDriverFeedbackUpdateBody,
+ user_id: str,
+) -> PlTransport:
+ if plan.follow_status == "cancelled":
+ raise HTTPException(status_code=400, detail="已作废的计划不能编辑司机回传")
+
+ if not plan.transport_id:
+ raise HTTPException(status_code=400, detail="计划未安排运输,无法编辑司机回传")
+
+ transport = (
+ db.query(PlTransport)
+ .filter(
+ PlTransport.id == plan.transport_id,
+ PlTransport.tenant_no == tenant_no,
+ PlTransport.del_flag == 0,
+ )
+ .first()
+ )
+ if not transport:
+ raise HTTPException(status_code=404, detail="运输单不存在")
+
+ if payload.feedback_qty is not None:
+ transport.feedback_qty = payload.feedback_qty
+ if payload.feedback_remark is not None:
+ transport.feedback_remark = payload.feedback_remark.strip() if payload.feedback_remark else None
+ if payload.feedback_images is not None:
+ transport.feedback_images = json.dumps([item for item in payload.feedback_images if item])
+ transport.feedback_time = payload.feedback_time or datetime.now()
+ transport.update_by = user_id
+ return transport
+
+
+def apply_plan_site_feedback(
+ db: Session,
+ *,
+ tenant_no: str,
+ plan: PlPlan,
+ link_id: str,
+ payload: PlanSiteFeedbackUpdateBody,
+ user_id: str,
+) -> PlTransportSiteLink:
+ if plan.follow_status == "cancelled":
+ raise HTTPException(status_code=400, detail="已作废的计划不能编辑现场回传")
+
+ link = (
+ db.query(PlTransportSiteLink)
+ .filter(
+ PlTransportSiteLink.id == link_id,
+ PlTransportSiteLink.plan_id == plan.id,
+ PlTransportSiteLink.tenant_no == tenant_no,
+ PlTransportSiteLink.del_flag == 0,
+ )
+ .first()
+ )
+ if not link:
+ raise HTTPException(status_code=404, detail="现场链接不存在")
+
+ if payload.site_feedback_remark is not None:
+ link.site_feedback_remark = (
+ payload.site_feedback_remark.strip() if payload.site_feedback_remark else None
+ )
+ if payload.site_feedback_images is not None:
+ link.site_feedback_images = json.dumps([item for item in payload.site_feedback_images if item])
+ link.site_feedback_time = payload.site_feedback_time or datetime.now()
+ link.update_by = user_id
+ return link
diff --git a/backend/app/services/pl_vehicle_maintenance_service.py b/backend/app/services/pl_vehicle_maintenance_service.py
index f220927dd..db47b2785 100644
--- a/backend/app/services/pl_vehicle_maintenance_service.py
+++ b/backend/app/services/pl_vehicle_maintenance_service.py
@@ -29,7 +29,9 @@ from app.schemas.pl.vehicle_maintenance import (
from app.services.pl_data_scope import apply_pl_scope, assert_pl_row_in_scope
-def _generate_seq_no(db: Session, model, column_attr: str, prefix: str) -> str:
+def _generate_seq_no(
+ db: Session, model, column_attr: str, prefix: str, *, seq_width: int = 6
+) -> str:
column = getattr(model, column_attr)
last = (
db.query(model)
@@ -37,13 +39,17 @@ def _generate_seq_no(db: Session, model, column_attr: str, prefix: str) -> str:
.order_by(column.desc())
.first()
)
- seq = int(getattr(last, column_attr)[-6:]) + 1 if last else 1
- return f"{prefix}{seq:06d}"
+ seq = int(getattr(last, column_attr)[-seq_width:]) + 1 if last else 1
+ return f"{prefix}{seq:0{seq_width}d}"
def generate_apply_no(db: Session) -> str:
return _generate_seq_no(
- db, PlVehicleMaintenanceApply, "apply_no", f"SXWB{date.today():%Y%m%d}"
+ db,
+ PlVehicleMaintenanceApply,
+ "apply_no",
+ f"WB{date.today():%Y%m%d}",
+ seq_width=2,
)
diff --git a/backend/app/services/pl_vehicle_recharge_service.py b/backend/app/services/pl_vehicle_recharge_service.py
index 273917bfc..1dc131e02 100644
--- a/backend/app/services/pl_vehicle_recharge_service.py
+++ b/backend/app/services/pl_vehicle_recharge_service.py
@@ -28,7 +28,9 @@ from app.schemas.pl.vehicle_recharge import (
from app.services.pl_data_scope import apply_pl_scope, assert_pl_row_in_scope
-def _generate_seq_no(db: Session, model, column_attr: str, prefix: str) -> str:
+def _generate_seq_no(
+ db: Session, model, column_attr: str, prefix: str, *, seq_width: int = 6
+) -> str:
column = getattr(model, column_attr)
last = (
db.query(model)
@@ -36,13 +38,17 @@ def _generate_seq_no(db: Session, model, column_attr: str, prefix: str) -> str:
.order_by(column.desc())
.first()
)
- seq = int(getattr(last, column_attr)[-6:]) + 1 if last else 1
- return f"{prefix}{seq:06d}"
+ seq = int(getattr(last, column_attr)[-seq_width:]) + 1 if last else 1
+ return f"{prefix}{seq:0{seq_width}d}"
def generate_apply_no(db: Session) -> str:
return _generate_seq_no(
- db, PlVehicleRechargeApply, "apply_no", f"SXSQ{date.today():%Y%m%d}"
+ db,
+ PlVehicleRechargeApply,
+ "apply_no",
+ f"ETC{date.today():%Y%m%d}",
+ seq_width=2,
)
diff --git a/backend/app/utils/bx_date_range.py b/backend/app/utils/bx_date_range.py
index 80d5ce9c2..cafa6253d 100644
--- a/backend/app/utils/bx_date_range.py
+++ b/backend/app/utils/bx_date_range.py
@@ -24,3 +24,50 @@ def parse_create_time_day_bounds(apply_date: str | None) -> tuple[datetime, date
return day_start, day_start + timedelta(days=1)
except ValueError:
return None
+
+
+def _parse_day_start(date_str: str | None) -> datetime | None:
+ if not date_str or not str(date_str).strip():
+ return None
+ try:
+ return datetime.strptime(str(date_str).strip(), "%Y-%m-%d")
+ except ValueError:
+ return None
+
+
+def resolve_create_time_bounds(
+ apply_date: str | None = None,
+ apply_date_from: str | None = None,
+ apply_date_to: str | None = None,
+) -> tuple[datetime | None, datetime | None]:
+ """解析申请时间筛选边界,返回 (含起, 不含止)。"""
+ if apply_date_from or apply_date_to:
+ start = _parse_day_start(apply_date_from)
+ end = None
+ day_end = _parse_day_start(apply_date_to)
+ if day_end is not None:
+ end = day_end + timedelta(days=1)
+ return start, end
+ bounds = parse_create_time_day_bounds(apply_date)
+ if bounds:
+ return bounds[0], bounds[1]
+ return None, None
+
+
+def append_create_time_filters(
+ filters: list,
+ model,
+ *,
+ apply_date: str | None = None,
+ apply_date_from: str | None = None,
+ apply_date_to: str | None = None,
+) -> None:
+ start, end = resolve_create_time_bounds(
+ apply_date=apply_date,
+ apply_date_from=apply_date_from,
+ apply_date_to=apply_date_to,
+ )
+ if start is not None:
+ filters.append(model.create_time >= start)
+ if end is not None:
+ filters.append(model.create_time < end)
diff --git a/backend/graphify-out/.graphify_labels.json b/backend/graphify-out/.graphify_labels.json
index 759545c77..1e99f02ea 100644
--- a/backend/graphify-out/.graphify_labels.json
+++ b/backend/graphify-out/.graphify_labels.json
@@ -149,7 +149,5 @@
"147": "Community 147",
"148": "Community 148",
"149": "Community 149",
- "150": "Community 150",
- "151": "Community 151",
- "152": "Community 152"
+ "150": "Community 150"
}
diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md
index eedeb098e..7d38b3bbb 100644
--- a/backend/graphify-out/GRAPH_REPORT.md
+++ b/backend/graphify-out/GRAPH_REPORT.md
@@ -1,16 +1,16 @@
-# Graph Report - backend (2026-07-05)
+# Graph Report - backend (2026-07-11)
## Corpus Check
-- 236 files · ~161,852 words
+- 244 files · ~171,565 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
-- 5301 nodes · 38041 edges · 153 communities (152 shown, 1 thin omitted)
-- Extraction: 51% EXTRACTED · 49% INFERRED · 0% AMBIGUOUS · INFERRED: 18578 edges (avg confidence: 0.5)
+- 5357 nodes · 38453 edges · 151 communities (148 shown, 3 thin omitted)
+- Extraction: 51% EXTRACTED · 49% INFERRED · 0% AMBIGUOUS · INFERRED: 18810 edges (avg confidence: 0.5)
- Token cost: 0 input · 0 output
## Graph Freshness
-- Built from commit: `31be9bfd`
+- Built from commit: `843e13bc`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -156,18 +156,16 @@
- [[_COMMUNITY_Community 148|Community 148]]
- [[_COMMUNITY_Community 149|Community 149]]
- [[_COMMUNITY_Community 150|Community 150]]
-- [[_COMMUNITY_Community 151|Community 151]]
-- [[_COMMUNITY_Community 152|Community 152]]
## God Nodes (most connected - your core abstractions)
1. `Session` - 1521 edges
2. `int` - 460 edges
-3. `BaseModel` - 430 edges
+3. `BaseModel` - 433 edges
4. `bool` - 370 edges
5. `Any` - 364 edges
-6. `get_tenant_no()` - 343 edges
-7. `DbUserContext` - 316 edges
-8. `DbUserContext` - 310 edges
+6. `get_tenant_no()` - 347 edges
+7. `DbUserContext` - 317 edges
+8. `DbUserContext` - 316 edges
9. `SysUser` - 306 edges
10. `success_response()` - 259 edges
@@ -183,279 +181,279 @@
- `Any` --uses--> `OperLogMeta` [INFERRED]
scripts/migrate_dibang_data.py → app/core/oper_log_context.py
-## Communities (153 total, 1 thin omitted)
+## Communities (151 total, 3 thin omitted)
### Community 0 - "Community 0"
-Cohesion: 0.11
-Nodes (105): date, DbUserContext, int, Session, str, VehicleRechargeApplyCreate, VehicleRechargeApplyRead, VehicleRechargeApplyUpdate (+97 more)
+Cohesion: 0.10
+Nodes (107): date, DbUserContext, int, Session, str, VehicleRechargeApplyCreate, VehicleRechargeApplyRead, VehicleRechargeApplyUpdate (+99 more)
### Community 1 - "Community 1"
Cohesion: 0.35
Nodes (219): Any, bool, str, UploadFile, CRM 线索管理 Pydantic Schemas, CRM 客户管理 Pydantic Schemas, CRM 商机管理 Pydantic Schemas, CRM 客户公海池规则 Pydantic Schemas (+211 more)
### Community 2 - "Community 2"
-Cohesion: 0.17
-Nodes (42): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, 审批意见:前端传 commentText,兼容 comment。, 审批意见:前端传 commentText,兼容 comment。, StartInstanceBody, TaskActionBody, Any (+34 more)
+Cohesion: 0.19
+Nodes (39): ProcessDefCreateBody, ProcessDefUpdateBody, PublishVersionBody, StartInstanceBody, Any, bool, WfProcessInstance, bool (+31 more)
### Community 3 - "Community 3"
-Cohesion: 0.06
-Nodes (166): _apply_default_invoice_info_to_customers(), category_add(), category_delete(), category_tree(), category_update(), clue_assign(), clue_check_convert(), clue_check_duplicate() (+158 more)
+Cohesion: 0.07
+Nodes (168): _apply_default_invoice_info_to_customers(), category_add(), category_delete(), category_tree(), category_update(), clue_assign(), clue_check_convert(), clue_check_duplicate() (+160 more)
### Community 4 - "Community 4"
-Cohesion: 0.08
-Nodes (112): bool, DbUserContext, int, 运输计划管理 - 基础数据 API(承运商、车辆、人员), PlCarrier, PlVehicle, Session, str (+104 more)
+Cohesion: 0.07
+Nodes (113): bool, DbUserContext, int, 运输计划管理 - 基础数据 API(承运商、车辆、人员), PlCarrier, PlVehicle, Session, str (+105 more)
### Community 5 - "Community 5"
-Cohesion: 0.03
-Nodes (165): register_quote_routes(), Any, bool, int, Session, str, Any, bool (+157 more)
+Cohesion: 0.22
+Nodes (28): register_quote_routes(), bool, int, Session, str, accept_quote(), _ensure_quote_in_scope(), generate_pdf() (+20 more)
### Community 6 - "Community 6"
-Cohesion: 0.07
-Nodes (126): Any, register_contract_routes(), CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), Any, bool, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), Decimal (+118 more)
+Cohesion: 0.08
+Nodes (91): Any, Any, CRM 合同 CRUD — 对照 CrmContractServiceImpl.java(列表/详情 P1), CrmContract, CrmContractProductPriceTier, date, datetime, Decimal (+83 more)
### Community 7 - "Community 7"
-Cohesion: 0.06
-Nodes (85): bool, DbUserContext, int, PlPlan, PlTransport, Session, str, PlPlanTransport (+77 more)
+Cohesion: 0.08
+Nodes (114): bool, DbUserContext, float, int, PlPlan, PlTransport, Session, str (+106 more)
### Community 8 - "Community 8"
Cohesion: 0.04
-Nodes (114): Any, bool, CRM 产品模块 CRUD(产品分类 + 产品 + 附件), int, Session, str, SysOss, int (+106 more)
+Nodes (115): Any, bool, CRM 产品模块 CRUD(产品分类 + 产品 + 附件), int, Session, str, SysOss, int (+107 more)
### Community 9 - "Community 9"
-Cohesion: 0.26
-Nodes (78): date, DbUserContext, int, Session, str, float, ApprovalRecordRead, ApprovalRequest (+70 more)
+Cohesion: 0.25
+Nodes (19): DbUserContext, Session, str, Session, str, int, Session, str (+11 more)
### Community 10 - "Community 10"
Cohesion: 0.06
-Nodes (112): bool, Decimal, int, PlanCreateFull, PlPlan, PlPlanProduct, PlTransport, PlVehicle (+104 more)
+Nodes (122): bool, Decimal, int, PlanCreateFull, PlanDriverFeedbackUpdateBody, PlanSiteFeedbackUpdateBody, PlPlan, PlPlanProduct (+114 more)
### Community 11 - "Community 11"
-Cohesion: 0.12
-Nodes (95): date, DbUserContext, int, Session, str, VehicleUreaApplyCreate, VehicleUreaApplyRead, VehicleUreaApplyUpdate (+87 more)
+Cohesion: 0.11
+Nodes (104): date, DbUserContext, int, Session, str, VehicleUreaApplyCreate, VehicleUreaApplyRead, VehicleUreaApplyUpdate (+96 more)
### Community 12 - "Community 12"
-Cohesion: 0.09
-Nodes (77): attachment_download_url(), attachment_preview_url(), create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post(), create_role_management() (+69 more)
+Cohesion: 0.08
+Nodes (96): attachment_download_url(), attachment_preview_url(), AttachmentDownloadUrlBody, create_dept(), create_dict_data(), create_dict_type(), create_menu(), create_post() (+88 more)
### Community 13 - "Community 13"
Cohesion: 0.05
-Nodes (40): get_plan_arrange_info(), patch_plan_product_certs(), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输) (+32 more)
+Nodes (44): get_plan_arrange_info(), patch_plan_product_certs(), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输), 更新计划危化品产品购买证/运输证(不触发安排运输) (+36 more)
### Community 14 - "Community 14"
-Cohesion: 0.06
-Nodes (63): Any, bool, bytes, int, str, Exception, bool, bytes (+55 more)
+Cohesion: 0.07
+Nodes (46): Exception, bool, bytes, int, Path, str, str, str (+38 more)
### Community 15 - "Community 15"
-Cohesion: 0.08
-Nodes (132): date, DbUserContext, int, PlanCreateFull, PlPlan, Session, str, TransportInventoryLinkRead (+124 more)
+Cohesion: 0.16
+Nodes (89): date, DbUserContext, int, PlanCreateFull, PlanDriverFeedbackUpdateBody, PlanSiteFeedbackUpdateBody, PlPlan, Session (+81 more)
### Community 16 - "Community 16"
-Cohesion: 0.07
-Nodes (43): 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove, 删除供方 — Java: CrmSupplierInfoController.remove (+35 more)
+Cohesion: 0.04
+Nodes (69): 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list (+61 more)
### Community 17 - "Community 17"
Cohesion: 0.09
-Nodes (55): Any, bool, datetime, int, Session, str, _advance_contract_after_approval(), approve_contract() (+47 more)
+Nodes (59): Any, bool, CrmContract, datetime, int, Query, Session, str (+51 more)
### Community 18 - "Community 18"
Cohesion: 0.16
-Nodes (35): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+27 more)
+Nodes (32): Any, bool, BxUserContext, BxWorkflowNode, float, int, ReimburseApplyOut, Session (+24 more)
### Community 19 - "Community 19"
-Cohesion: 0.07
-Nodes (63): Any, CertRead, date, int, Session, str, CertRead, Session (+55 more)
+Cohesion: 0.25
+Nodes (8): Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, Java: validateFrameworkContractForSubmitApproval, validate_framework_contract_for_submit_approval()
### Community 20 - "Community 20"
-Cohesion: 0.12
-Nodes (60): customer_create(), Any, int, Session, str, Any, bool, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作) (+52 more)
+Cohesion: 0.07
+Nodes (97): Any, int, Session, str, Any, bool, CRM 客户 CRUD(客户主表 + 转移/成交/公海池操作), CrmCustomer (+89 more)
### Community 21 - "Community 21"
Cohesion: 0.11
-Nodes (58): Any, bool, int, Session, str, Any, bool, CRM 线索 CRUD(线索主表 + 转化/分配/无效/等级操作) (+50 more)
+Nodes (57): Any, bool, int, Session, str, Any, bool, CRM 线索 CRUD(线索主表 + 转化/分配/无效/等级操作) (+49 more)
### Community 22 - "Community 22"
-Cohesion: 0.14
-Nodes (58): bool, DbInboundOutbound, int, PublicInventoryFeedback, PublicInventoryPageRead, UploadFile, bool, int (+50 more)
+Cohesion: 0.06
+Nodes (106): bool, DbInboundOutbound, int, PublicInventoryFeedback, PublicInventoryPageRead, Session, str, UploadFile (+98 more)
### Community 23 - "Community 23"
-Cohesion: 0.16
-Nodes (47): bool, DbPurchasePlan, DbUserContext, PurchasePlanWithFillLink, Session, str, DbPurchasePlan, float (+39 more)
+Cohesion: 0.33
+Nodes (25): DbUserContext, DbWeighingSlip, Session, str, WeighingSlipRead, user_info_from_context(), weighing_to_read(), apply_product_snapshot_to_weighing() (+17 more)
### Community 24 - "Community 24"
Cohesion: 0.25
Nodes (18): BxUserContext, Session, str, bool, BxUserContext, Session, str, create_expense_item() (+10 more)
### Community 25 - "Community 25"
-Cohesion: 0.14
-Nodes (27): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+19 more)
+Cohesion: 0.13
+Nodes (29): Any, bool, BxUserContext, BxWorkflowNode, float, int, Session, str (+21 more)
### Community 26 - "Community 26"
Cohesion: 0.18
Nodes (50): Any, CRM 商机 CRUD(主表 + 阶段/赢输单/统计/看板/漏斗), CrmOpportunity, date, datetime, Decimal, int, Session (+42 more)
### Community 27 - "Community 27"
-Cohesion: 0.13
-Nodes (46): bool, datetime, DbWeighingSlip, Session, str, bool, date, DbInboundOutbound (+38 more)
+Cohesion: 0.12
+Nodes (55): DbInboundOutbound, DbWeighingSlip, InboundOutboundRead, WeighingSlipRead, bool, datetime, DbWeighingSlip, Session (+47 more)
### Community 28 - "Community 28"
-Cohesion: 0.12
-Nodes (32): bool, Session, str, _append_user_scope_conditions(), apply_data_scope(), assert_row_in_data_scope(), _collect_scope_ids(), _get_child_dept_ids() (+24 more)
+Cohesion: 0.08
+Nodes (45): bool, Session, str, Any, int, Session, str, _append_user_scope_conditions() (+37 more)
### Community 29 - "Community 29"
-Cohesion: 0.07
-Nodes (44): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, ContractApprovalActionBody, ContractApprovalApproveBody, ContractApprovalByContractBody, ContractApprovalListBody, ContractApprovalPageListBody, ContractApprovalPassBody (+36 more)
+Cohesion: 0.11
+Nodes (49): register_contract_routes(), bool, Session, bool, batch_submit_approval(), _ensure_contract_in_scope(), execute_change(), finish_contract() (+41 more)
### Community 30 - "Community 30"
-Cohesion: 0.15
-Nodes (77): AdvanceApplyCreate, AdvanceApplyOut, AdvanceApplyUpdate, AdvanceApprovalCreate, BxUserContext, int, Session, str (+69 more)
+Cohesion: 0.36
+Nodes (31): AdvanceApplyCreate, AdvanceApplyOut, AdvanceApplyUpdate, AdvanceApprovalCreate, BxUserContext, int, Session, str (+23 more)
### Community 31 - "Community 31"
-Cohesion: 0.09
-Nodes (56): 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线), refresh_token(), bool, Redis, Request, Session, str, _T (+48 more)
+Cohesion: 0.11
+Nodes (50): 公共接口(Web 登录、刷新 Token、登出;用户模型对齐 docs/sql/shanxia2.0.sql 基线), refresh_token(), bool, Redis, Request, Session, str, _T (+42 more)
### Community 32 - "Community 32"
-Cohesion: 0.06
-Nodes (88): Any, Decimal, Session, str, _advance_after_approval(), _approval_to_dict(), can_user_approve_settlement(), cancel_draft_settlement() (+80 more)
+Cohesion: 0.05
+Nodes (110): Any, bool, datetime, Decimal, int, PlTransport, Session, str (+102 more)
### Community 33 - "Community 33"
-Cohesion: 0.04
-Nodes (46): invoice_info_list(), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list, 分页查询供方列表 — Java: CrmSupplierInfoController.list (+38 more)
+Cohesion: 0.15
+Nodes (30): Any, bool, int, Session, str, approve_quote(), can_user_approve(), create_approval_records() (+22 more)
### Community 34 - "Community 34"
-Cohesion: 0.08
-Nodes (26): create_plan_full(), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输) (+18 more)
+Cohesion: 0.07
+Nodes (28): create_plan_full(), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选运输安排), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输), 创建运输计划(完整表单:合同产品 + 可选预选车辆,不自动安排运输) (+20 more)
### Community 35 - "Community 35"
-Cohesion: 0.11
-Nodes (110): date, DbUserContext, int, Session, str, VehicleMaintenanceApplyCreate, VehicleMaintenanceApplyRead, VehicleMaintenanceApplyReminder (+102 more)
+Cohesion: 0.13
+Nodes (97): date, DbUserContext, int, Session, str, VehicleMaintenanceApplyCreate, VehicleMaintenanceApplyRead, VehicleMaintenanceApplyReminder (+89 more)
### Community 36 - "Community 36"
-Cohesion: 0.08
-Nodes (30): _avatar_url_field(), _build_user_info_payload(), get_current_user_profile(), get_web_auth_menu_codes(), _jwt_user_payload(), logout(), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。 (+22 more)
+Cohesion: 0.15
+Nodes (16): _avatar_url_field(), _build_user_info_payload(), _jwt_user_payload(), 与 web-admin `userInfo` 字段约定一致。, 与 web-admin `userInfo` 字段约定一致。, Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。 (+8 more)
### Community 37 - "Community 37"
Cohesion: 0.13
-Nodes (40): Any, bool, date, int, Session, str, Session, str (+32 more)
+Nodes (39): Any, bool, date, int, Session, str, Session, str (+31 more)
### Community 38 - "Community 38"
-Cohesion: 0.24
-Nodes (36): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, datetime, str (+28 more)
+Cohesion: 0.18
+Nodes (41): AdvanceIssueRequest, BxUserContext, int, ReimburseApplyOut, Session, str, datetime, str (+33 more)
### Community 39 - "Community 39"
-Cohesion: 0.19
-Nodes (54): DbInboundOutbound, DbUserContext, InboundOutboundRead, Session, str, PurchasePlanRead, WeighingSlipRead, bool (+46 more)
+Cohesion: 0.22
+Nodes (38): DbInboundOutbound, DbUserContext, InboundOutboundRead, Session, str, CreateLinkForPlanPayload, _apply_inventory_product_update(), _apply_inventory_update() (+30 more)
### Community 40 - "Community 40"
-Cohesion: 0.07
-Nodes (53): BaseModel, AdvanceApplyOut, AdvanceApprovalCreate, PagedQuery, PagedResponse, ReimburseApplyUpdate, ReimburseApprovalCreate, CustomerAssignPoolBody (+45 more)
+Cohesion: 0.02
+Nodes (197): CRM 报价单 API 路由 — 挂接到 crm.router, CRM 报价单 Pydantic Schemas, Decimal, Decimal, BaseModel, AdvanceApplyCreate, AdvanceApplyOut, AdvanceApplyUpdate (+189 more)
### Community 41 - "Community 41"
-Cohesion: 0.08
+Cohesion: 0.07
Nodes (39): _db_pool_keepalive_loop(), _error_json(), lifespan(), _mask_secret(), Exception, int, Request, str (+31 more)
### Community 42 - "Community 42"
-Cohesion: 0.40
-Nodes (3): AdvanceApplyCreate, AdvanceApplyUpdate, _coerce_optional_id()
+Cohesion: 0.35
+Nodes (31): BxUserContext, int, Session, str, PagedData, approve_reimburse(), approved_by_me(), _build_details_data() (+23 more)
### Community 43 - "Community 43"
Cohesion: 0.13
Nodes (37): Any, bool, Decimal, int, Session, str, batch_insert_quote_products(), calculate_subtotal() (+29 more)
### Community 44 - "Community 44"
-Cohesion: 0.08
-Nodes (112): DbUserContext, FreightSettlementDisburseBody, FreightSettlementSubmitApprovalBody, FreightSettlementUpdate, int, Session, str, bool (+104 more)
+Cohesion: 0.09
+Nodes (94): DbUserContext, FreightSettlementDisburseBody, FreightSettlementSubmitApprovalBody, FreightSettlementUpdate, int, Session, str, FreightSettlementDisburseBody (+86 more)
### Community 45 - "Community 45"
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 46 - "Community 46"
-Cohesion: 0.33
-Nodes (5): _coerce_optional_id(), WorkflowDefCreate, WorkflowDefUpdate, WorkflowNodeCreate, WorkflowNodeOut
+Cohesion: 0.07
+Nodes (56): CRM 合同 API 路由 — GET/PUT/DELETE/POST 对齐原 Java CRM, CRM 合同子模块路由 — 变更/模板/审批独立页, register_contract_sub_routes(), int, CRM 合同 Pydantic Schemas — 对照 CrmContractBo / CrmContractVo, ContractApprovalActionBody, ContractApprovalApproveBody, ContractApprovalByContractBody (+48 more)
### Community 47 - "Community 47"
Cohesion: 0.16
Nodes (33): Any, bool, int, Session, str, Any, Session, str (+25 more)
### Community 48 - "Community 48"
-Cohesion: 0.12
-Nodes (31): CRM 报价单 API 路由 — 挂接到 crm.router, CRM 报价单 Pydantic Schemas, QuoteAcceptBody, QuoteApprovalApproveBody, QuoteApprovalListBody, QuoteApprovalRefreshNamesBody, QuoteApprovalWithdrawBody, QuoteCreateBody (+23 more)
+Cohesion: 0.42
+Nodes (53): date, DbUserContext, int, Session, str, DocumentReminderRead, DocumentReminderUpdate, InventoryLedgerResponse (+45 more)
### Community 49 - "Community 49"
-Cohesion: 0.05
-Nodes (38): str, AttachmentOut, ReimburseApplyCreate, Config, PageResult, ResponseModel, ContactByCustomerBody, ContactDetailBody (+30 more)
+Cohesion: 0.09
+Nodes (43): 运输计划管理 - 基础数据 Schema(承运商、车辆、人员、证书), CarrierAuditReject, CarrierBase, CarrierCreate, CarrierListResponse, CarrierQualificationBase, CarrierRead, CarrierUpdate (+35 more)
### Community 50 - "Community 50"
-Cohesion: 0.14
-Nodes (26): datetime, int, str, datetime, date, datetime, str, 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。 (+18 more)
+Cohesion: 0.18
+Nodes (15): datetime, int, str, datetime, 审批轮次过滤 — 驳回后重新提交时,进度接口仅展示当前轮次。, format_datetime(), generate_id(), generate_random_password() (+7 more)
### Community 51 - "Community 51"
-Cohesion: 0.10
-Nodes (60): CrmContract, Query, Any, bool, CrmContractProductPriceTier, date, Decimal, int (+52 more)
+Cohesion: 0.16
+Nodes (33): Any, bool, CrmContractProductPriceTier, date, Decimal, int, Session, str (+25 more)
### Community 52 - "Community 52"
-Cohesion: 0.06
-Nodes (31): batch_assign_owner(), download_contract_pdf(), Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval, Java: withdrawApproval (+23 more)
+Cohesion: 0.09
+Nodes (22): batch_assign_owner(), download_contract_pdf(), Java: batchAssignOwner, Java: downloadContractPdf — 返回合同文件 URL/路径, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner, Java: batchAssignOwner (+14 more)
### Community 53 - "Community 53"
Cohesion: 0.14
Nodes (39): Any, bool, int, Session, str, SysUser, create_user(), get_user() (+31 more)
### Community 54 - "Community 54"
-Cohesion: 0.16
-Nodes (26): Any, bool, bytes, int, Request, str, bool, int (+18 more)
+Cohesion: 0.17
+Nodes (24): Any, bool, bytes, int, Request, str, bool, int (+16 more)
### Community 55 - "Community 55"
-Cohesion: 0.15
-Nodes (35): Engine, Path, build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str() (+27 more)
+Cohesion: 0.22
+Nodes (29): Engine, Path, build_id_maps(), clip_text(), count_rows(), export_mapping(), fetch_rows(), legacy_id_to_str() (+21 more)
### Community 56 - "Community 56"
-Cohesion: 0.22
-Nodes (29): Any, bool, CRM 公海池规则 CRUD + 规则执行逻辑, int, Session, str, create_pool_rule(), create_rule() (+21 more)
+Cohesion: 0.09
+Nodes (45): Any, CRM 报价单 CRUD — 对照 CrmQuoteServiceImpl.java(P2 全量), date, datetime, Decimal, Query, _build_quote_filters(), calculate_quote_amount() (+37 more)
### Community 57 - "Community 57"
Cohesion: 0.05
-Nodes (41): PlInventoryTransaction, PlInventoryWarning, 计划-运输关联表 pl_plan_transport, 库存流水表 pl_inventory_transaction, 运费结算表 pl_freight_settlement, 结算单-运输关联表 pl_freight_settlement_transport, 结算单-运输关联表 pl_freight_settlement_transport, 库存流水表 pl_inventory_transaction (+33 more)
+Nodes (41): PlInventoryTransaction, PlInventoryWarning, 运费结算表 pl_freight_settlement, 库存流水表 pl_inventory_transaction, 运费结算表 pl_freight_settlement, 结算单-运输关联表 pl_freight_settlement_transport, 结算单-运输关联表 pl_freight_settlement_transport, 库存流水表 pl_inventory_transaction (+33 more)
### Community 58 - "Community 58"
-Cohesion: 0.19
-Nodes (11): API 路由包 — 山峡化工生产一体化门户, get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,14 个一级菜单), operlog_detail(), operlog_list(), 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), 操作日志分页列表(基于 API 请求日志适配 RuoYi OperLog 结构), _user_info() (+3 more)
+Cohesion: 0.13
+Nodes (29): API 路由包 — 山峡化工生产一体化门户, create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave() (+21 more)
### Community 59 - "Community 59"
-Cohesion: 0.41
-Nodes (13): BxUserContext, Session, str, UploadFile, bind_biz(), delete_attachment(), download_file(), list_by_biz() (+5 more)
+Cohesion: 0.16
+Nodes (32): BxUserContext, Session, str, UploadFile, BxUserContext, int, Session, str (+24 more)
### Community 60 - "Community 60"
-Cohesion: 0.04
-Nodes (52): 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll (+44 more)
+Cohesion: 0.03
+Nodes (72): invoice_info_list(), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 按客户ID查询开票信息(与 by-customer 等价), 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll, 供方全量列表(下拉)— Java: CrmSupplierInfoController.listAll (+64 more)
### Community 61 - "Community 61"
-Cohesion: 0.24
-Nodes (25): DbUserContext, float, Session, str, Session, str, DashboardCargoStat, DashboardPartnerCargoStat (+17 more)
+Cohesion: 0.27
+Nodes (24): DbUserContext, float, Session, str, Session, str, DashboardCargoStat, DashboardPartnerCargoStat (+16 more)
### Community 62 - "Community 62"
-Cohesion: 0.07
-Nodes (27): _build_contract_filters(), export_contracts(), ORM → camelCase(单点真相), ORM → camelCase(单点真相), ORM → camelCase(单点真相), ORM → camelCase(单点真相), ORM → camelCase(单点真相), Java: queryList for export (+19 more)
+Cohesion: 0.22
+Nodes (9): 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, Java: queryList for export (+1 more)
### Community 63 - "Community 63"
Cohesion: 0.08
Nodes (25): 技术栈, 1. 创建虚拟环境, 项目结构, 1. 创建虚拟环境, 2. 安装依赖, 2. 安装依赖, 3. 配置环境变量, 快速开始 (+17 more)
### Community 64 - "Community 64"
-Cohesion: 0.09
-Nodes (28): 运输计划管理 - 基础数据 Schema(承运商、车辆、人员、证书), CarrierAuditReject, CarrierBase, CarrierCreate, CarrierListResponse, CarrierQualificationBase, CarrierRead, CarrierUpdate (+20 more)
+Cohesion: 0.15
+Nodes (13): ORM → camelCase(单点真相), ORM → camelCase(单点真相), ORM → camelCase(单点真相), ORM → camelCase(单点真相), Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode (+5 more)
### Community 65 - "Community 65"
Cohesion: 0.22
-Nodes (19): Any, bool, str, _actor_ids(), _actor_names(), assert_rows_deletable_by_creator(), can_delete_by_creator(), is_super_admin() (+11 more)
+Nodes (29): Any, int, Session, str, create_instance(), create_process_def(), create_task(), get_all_tasks_for_business() (+21 more)
### Community 66 - "Community 66"
Cohesion: 0.18
Nodes (24): bool, date, datetime, int, Session, str, ReimburseApplyOut, allocate_reimburse_title_seq() (+16 more)
### Community 67 - "Community 67"
-Cohesion: 0.21
-Nodes (17): bool, int, Redis, Request, str, _claims_from_auth(), _coerce_post_method_override_to_get(), _get_redis_client() (+9 more)
+Cohesion: 0.15
+Nodes (22): logout(), 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, 登出:吊销 Redis 会话(若已配置 REDIS_HOST)。, bool, int, Redis, Request (+14 more)
### Community 68 - "Community 68"
Cohesion: 0.25
@@ -466,12 +464,12 @@ Cohesion: 0.21
Nodes (16): Any, int, str, BusinessException, InvalidStatusTransitionException, log_api_request(), log_delivery_operation(), log_operation() (+8 more)
### Community 70 - "Community 70"
-Cohesion: 0.11
-Nodes (32): Any, str, bool, BxUserContext, int, Session, str, Any (+24 more)
+Cohesion: 0.14
+Nodes (24): bool, BxUserContext, int, Session, str, Any, bool, int (+16 more)
### Community 71 - "Community 71"
-Cohesion: 0.34
-Nodes (23): DbUserContext, DbWeighingSlip, Session, str, weighing_to_read(), apply_product_snapshot_to_weighing(), _apply_weighing_product_update(), _apply_weighing_update() (+15 more)
+Cohesion: 0.19
+Nodes (14): bool, date, Session, str, get_last_month_range(), month_range(), 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla, 按月自动生成采购计划。 - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) - 遍历所有租户,按上月计划模板生 (+6 more)
### Community 72 - "Community 72"
Cohesion: 0.26
@@ -482,20 +480,20 @@ Cohesion: 0.32
Nodes (22): Any, CrmOpportunity, Decimal, int, Session, str, batch_add_opportunity_products(), _calc_subtotal() (+14 more)
### Community 74 - "Community 74"
-Cohesion: 0.19
-Nodes (14): bool, date, Session, str, get_last_month_range(), month_range(), 地磅计划按月自动生成 — 迁移自 simple-dibang-xiaoshou/auto-create-plan/auto_create_monthly_pla, 按月自动生成采购计划。 - 默认仅在每月 1 日执行(force=True 时跳过该限制,供手动触发验收) - 遍历所有租户,按上月计划模板生 (+6 more)
+Cohesion: 0.18
+Nodes (11): Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend, Java: statisticsTrend (+3 more)
### Community 75 - "Community 75"
-Cohesion: 0.19
-Nodes (18): str, Any, bool, Session, str, CRM 模块 Excel 导出列定义(字段与字典类型对齐 Java *Vo @ExcelDictFormat)。, _yes_no(), _build_workbook() (+10 more)
+Cohesion: 0.15
+Nodes (22): clue_import_template(), customer_import_template(), product_import_template(), str, Any, bool, Session, str (+14 more)
### Community 76 - "Community 76"
-Cohesion: 0.22
-Nodes (29): Any, int, Session, str, create_instance(), create_process_def(), create_task(), get_all_tasks_for_business() (+21 more)
+Cohesion: 0.23
+Nodes (25): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields(), get_designer_data() (+17 more)
### Community 77 - "Community 77"
Cohesion: 0.17
-Nodes (20): Any, int, str, get_oper_log_meta(), OperLogMeta, 请求级操作日志元数据(ContextVar), 供异步落库线程使用,避免 ContextVar 跨线程丢失。, set_oper_log_meta() (+12 more)
+Nodes (21): Any, int, str, clear_oper_log_meta(), get_oper_log_meta(), OperLogMeta, 请求级操作日志元数据(ContextVar), 供异步落库线程使用,避免 ContextVar 跨线程丢失。 (+13 more)
### Community 78 - "Community 78"
Cohesion: 0.23
@@ -526,28 +524,28 @@ Cohesion: 0.34
Nodes (19): check_python(), create_venv(), ensure_dirs(), ensure_valid_venv(), ensure_venv_and_runtime(), install_dependencies(), is_running(), log_error() (+11 more)
### Community 85 - "Community 85"
-Cohesion: 0.28
-Nodes (18): Any, int, Session, str, _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept() (+10 more)
+Cohesion: 0.24
+Nodes (20): Any, bool, str, _actor_ids(), _actor_names(), assert_row_deletable_by_creator(), assert_rows_deletable_by_creator(), can_delete_by_creator() (+12 more)
### Community 86 - "Community 86"
Cohesion: 0.35
Nodes (17): Any, bool, int, Session, str, _build_tree(), _cascade_soft_delete(), create_menu() (+9 more)
### Community 87 - "Community 87"
-Cohesion: 0.11
-Nodes (19): cancel_plan(), 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。 (+11 more)
+Cohesion: 0.10
+Nodes (21): cancel_plan(), 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。, 作废运输计划:取消跟进状态、作废关联地磅出入库单、取消运输单。 (+13 more)
### Community 88 - "Community 88"
Cohesion: 0.37
Nodes (17): check_env(), check_python(), create_venv(), init_env(), install_dependencies(), log_error(), log_info(), log_success() (+9 more)
### Community 89 - "Community 89"
-Cohesion: 0.13
-Nodes (25): Any, bool, Session, str, Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode, Java: viewByShareCode (+17 more)
+Cohesion: 0.22
+Nodes (17): Any, bool, Session, str, list_share_logs(), _parse_user_agent(), CRM 报价单分享访问日志 CRUD — 对照 CrmQuoteShareLogServiceImpl.java, Java: statisticsVisits (+9 more)
### Community 90 - "Community 90"
-Cohesion: 0.13
-Nodes (27): CreateFromContractRequest, HazardCertReadyBody, PlanArchiveBody, PlanCreate, PlanCreateFull, PlanDeliverySlipTemplateSave, PlanInboundSlipTemplateSave, PlanListResponse (+19 more)
+Cohesion: 0.10
+Nodes (21): Java: createNewVersion — 返回新报价单 id, Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: CrmQuoteServiceImpl.withdrawApproval(校验创建人), Java: statisticsOverview (+13 more)
### Community 91 - "Community 91"
Cohesion: 0.29
@@ -562,16 +560,16 @@ Cohesion: 0.34
Nodes (16): Any, bool, int, Session, str, create_tenant(), get_tenant(), list_tenants() (+8 more)
### Community 94 - "Community 94"
-Cohesion: 0.39
-Nodes (8): bool, BxUserContext, Session, str, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。, WorkflowService, BxWorkflowDef
+Cohesion: 0.28
+Nodes (13): bool, BxUserContext, BxWorkflowNode, int, Session, str, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。, 按业务类型获取工作流;已知类型不存在时自动创建空定义(无节点)。 (+5 more)
### Community 95 - "Community 95"
-Cohesion: 0.23
-Nodes (14): int, Session, str, _allocate_inbound_outbound_id(), _ensure_sequence_row(), max_numeric_inbound_outbound_id(), next_inbound_outbound_id(), 出入库单 id 生成 — 租户内纯数字自增,并发安全。 (+6 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 96 - "Community 96"
-Cohesion: 0.20
-Nodes (13): check_customer_protect_time(), _execute_single_rule(), _get_all_tenant_nos(), pool_recovery_job(), 公海池自动回收任务(由 APScheduler 调度) 遍历所有租户的启用规则,执行自动回收。, 每天凌晨1点:检查保护期到期客户,跟进次数不足则退回公海, 每天早上9点:保护期到期提醒(3天内到期且跟进不足), remind_customer_recycle() (+5 more)
+Cohesion: 0.06
+Nodes (66): Any, CertRead, date, int, Session, str, CertRead, Session (+58 more)
### Community 97 - "Community 97"
Cohesion: 0.38
@@ -590,8 +588,8 @@ Cohesion: 0.29
Nodes (14): is_valid_dict_type(), load_portal_baseline(), load_sx(), load_zkxw(), main(), map_tag_type(), normalize_row(), parse_insert() (+6 more)
### Community 101 - "Community 101"
-Cohesion: 0.26
-Nodes (27): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, MenuCreateBody (+19 more)
+Cohesion: 0.29
+Nodes (10): datetime, int, Session, str, BizNoKind, allocate_next_biz_no(), _format_biz_no(), _prefix_for() (+2 more)
### Community 102 - "Community 102"
Cohesion: 0.27
@@ -602,8 +600,8 @@ Cohesion: 0.41
Nodes (11): Any, str, build_quote_html(), _default_value(), _format_date(), _format_discount(), _format_money(), generate_quote_pdf() (+3 more)
### Community 104 - "Community 104"
-Cohesion: 0.24
-Nodes (24): approve_task(), _assert_wf_instance_in_scope(), _business_type_label(), create_process_def(), delete_process_def(), _enrich_task_list(), get_business_all_tasks(), _get_business_form_fields() (+16 more)
+Cohesion: 0.22
+Nodes (12): Any, bool, str, WfProcessInstance, _LocalCallbackFn, _dispatch_local(), 工作流回调服务 —— 流程状态变更时通知业务系统, 注册本地回调函数。当 callback_url 以 path 开头时直接调用 fn。 (+4 more)
### Community 105 - "Community 105"
Cohesion: 0.18
@@ -618,12 +616,12 @@ Cohesion: 0.60
Nodes (10): Any, Session, str, _apply_create_range(), _base_query(), get_clue_level_statistics(), get_clue_overview_statistics(), get_clue_owner_statistics() (+2 more)
### Community 108 - "Community 108"
-Cohesion: 0.18
-Nodes (9): 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, 报销(bx)Pydantic 模型 — 响应协议与 bx 原系统保持一致, bx_health(), 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。, P0 健康检查:验证 bx 路由已挂载且响应协议为 code=0。 (+1 more)
+Cohesion: 0.45
+Nodes (20): DbUserContext, int, Session, str, PlTransportAddress, 运输通用地址库 pl_transport_address, _address_to_read(), _build_address_query() (+12 more)
### Community 109 - "Community 109"
-Cohesion: 0.29
-Nodes (10): datetime, int, Session, str, BizNoKind, allocate_next_biz_no(), _format_biz_no(), _prefix_for() (+2 more)
+Cohesion: 0.32
+Nodes (7): Session, str, apply_product_snapshot_to_inventory(), ProductSnapshot, 地磅模块 — CRM 产品解析与快照写入。, 校验 CRM 产品并返回名称/规格快照。新建单据 product_id 必填。, resolve_crm_product()
### Community 110 - "Community 110"
Cohesion: 0.18
@@ -634,17 +632,13 @@ Cohesion: 0.18
Nodes (11): generate_contract_name(), Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName, Java: generateContractName (+3 more)
### Community 112 - "Community 112"
-Cohesion: 0.19
-Nodes (19): Session, str, str, 附件上传 bizType 与 MinIO 目录映射(对齐原 CRM oss 上传语义), 优先使用显式 folder;否则按 bizType 映射默认目录。, 优先使用显式 folder;否则按 bizType 映射默认目录。, 优先使用显式 folder;否则按 bizType 映射默认目录。, resolve_upload_folder() (+11 more)
+Cohesion: 0.28
+Nodes (18): Any, int, Session, str, _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), create_dept() (+10 more)
### Community 113 - "Community 113"
Cohesion: 0.20
Nodes (10): 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 (+2 more)
-### Community 114 - "Community 114"
-Cohesion: 0.45
-Nodes (20): DbUserContext, int, Session, str, PlTransportAddress, 运输通用地址库 pl_transport_address, _address_to_read(), _build_address_query() (+12 more)
-
### Community 115 - "Community 115"
Cohesion: 0.29
Nodes (9): AST, expr, field_has_alias(), iter_field_assignments(), main(), bool, int, str (+1 more)
@@ -658,12 +652,12 @@ Cohesion: 0.50
Nodes (3): Any, str, 与门户 JWT / apply_data_scope 所需的 user_info 字段对齐。
### Community 118 - "Community 118"
-Cohesion: 0.27
-Nodes (17): create_leave(), delete_leave(), get_leave(), _leave_local_callback(), leave_workflow_callback(), list_leaves(), submit_leave(), update_leave() (+9 more)
+Cohesion: 0.83
+Nodes (3): _add_user_info_kwarg(), patch_file(), str
### Community 119 - "Community 119"
-Cohesion: 0.38
-Nodes (6): date, datetime, str, _date_to_str(), _dt_to_str(), bx 原系统 API 响应包装(code=0 / msg / data.rows),与门户 success_response 分离。
+Cohesion: 0.12
+Nodes (17): create_new_version(), Java: toContract — 返回 contractId, Java: createNewVersion — 返回新报价单 id, Java: toContract — 返回 contractId, Java: createNewVersion — 返回新报价单 id, Java: toContract — 返回 contractId, Java: createNewVersion — 返回新报价单 id, Java: createNewVersion — 返回新报价单 id (+9 more)
### Community 120 - "Community 120"
Cohesion: 0.22
@@ -678,95 +672,83 @@ Cohesion: 0.32
Nodes (7): str, eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci()
### Community 123 - "Community 123"
-Cohesion: 0.11
-Nodes (19): _generate_plan_no(), 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD###### (+11 more)
+Cohesion: 0.10
+Nodes (20): _generate_plan_no(), 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD######, 生成计划编号 SXDDHYYYYMMDD###### (+12 more)
### Community 124 - "Community 124"
-Cohesion: 0.35
-Nodes (5): Any, str, WfProcessInstance, WorkflowEngine, WfProcessInstance
+Cohesion: 0.12
+Nodes (15): 报销(bx)API 路由聚合 — REST 风格,协议对齐 bx 原系统。, date, datetime, str, 报销(bx)Pydantic 模型 — 响应协议与 bx 原系统保持一致, _date_to_str(), _dt_to_str(), bx 原系统 API 响应包装(code=0 / msg / data.rows),与门户 success_response 分离。 (+7 more)
### Community 125 - "Community 125"
Cohesion: 0.25
Nodes (8): generate_template_no(), Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}, Java: generateTemplateNo — TMPL{yyyyMMdd}{4位序号}
### Community 126 - "Community 126"
-Cohesion: 0.38
-Nodes (5): TransportAddressBase, TransportAddressCreate, TransportAddressListResponse, TransportAddressRead, TransportAddressUpdate
+Cohesion: 0.22
+Nodes (9): create_from_opportunity(), _opportunity_products_to_contract_products(), Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id, Java: createFromOpportunity — 返回合同 id (+1 more)
### Community 127 - "Community 127"
-Cohesion: 0.38
-Nodes (4): str, _coerce_id(), ExpenseItemCreate, ExpenseItemUpdate
+Cohesion: 0.12
+Nodes (67): bool, DbPurchasePlan, DbUserContext, PurchasePlanRead, PurchasePlanWithFillLink, Session, str, bool (+59 more)
### Community 128 - "Community 128"
-Cohesion: 0.33
-Nodes (3): _coerce_id(), OffsetItem, ReimburseDetailCreate
+Cohesion: 0.35
+Nodes (5): Any, str, WfProcessInstance, WorkflowEngine, WfProcessInstance
### Community 129 - "Community 129"
-Cohesion: 0.33
-Nodes (3): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, 地磅(db)Pydantic schemas — 对齐原 simple-dibang-xiaoshou 契约。, 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。
+Cohesion: 0.09
+Nodes (18): 地磅 API 路由聚合 — REST 风格,协议对齐原 simple-dibang-xiaoshou。, Session, 地磅(db)Pydantic schemas — 对齐原 simple-dibang-xiaoshou 契约。, _auto_fill_create_dept_id(), get_db(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID, ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID, ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID (+10 more)
### Community 130 - "Community 130"
-Cohesion: 0.14
-Nodes (19): Session, str, Session, str, get_user_menu_codes(), 菜单 code 权限守卫(V0.3:通过 sys_user_role → sys_role_menu → sys_menu.perms), 读取用户授权的菜单权限标识集合(与前端 meta.menuCode / perms 对齐)。, 接口菜单权限守卫。super_admin 直接放行。 (+11 more)
+Cohesion: 0.07
+Nodes (35): list_roles_for_select(), 返回运营端角色下拉选项(label=库中角色名,value=Web 角色码)。, 返回运营端角色下拉选项(label=库中角色名,value=Web 角色码)。, 返回运营端角色下拉选项(label=库中角色名,value=Web 角色码)。, get_current_user_profile(), get_web_auth_menu_codes(), public_quote_share(), 获取当前用户信息(与 sys_user 字段对应)。 (+27 more)
### Community 131 - "Community 131"
Cohesion: 0.40
Nodes (3): BaseSettings, Config, Settings
### Community 132 - "Community 132"
-Cohesion: 0.16
-Nodes (12): Decimal, str, VehicleRechargeApplyCreate, VehicleRechargeApplyListResponse, VehicleRechargeApplyOption, VehicleRechargeApplyRead, VehicleRechargeApplyUpdate, VehicleRechargeDisburseBoardListResponse (+4 more)
+Cohesion: 0.40
+Nodes (4): Any, str, 供 get_tenant_no 等门户工具使用。, 与门户 JWT / apply_data_scope 所需的 user_info 字段对齐。
### Community 134 - "Community 134"
Cohesion: 0.50
Nodes (4): Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), web_login_rsa_public_key()
### Community 135 - "Community 135"
-Cohesion: 0.20
-Nodes (10): Decimal, VehicleUreaApplyCreate, VehicleUreaApplyListResponse, VehicleUreaApplyRead, VehicleUreaApplyUpdate, VehicleUreaDisburseBoardListResponse, VehicleUreaDisburseCreate, VehicleUreaDisburseListResponse (+2 more)
+Cohesion: 0.38
+Nodes (4): str, _coerce_id(), ExpenseItemCreate, ExpenseItemUpdate
### Community 136 - "Community 136"
-Cohesion: 0.19
-Nodes (11): Decimal, VehicleMaintenanceApplyCreate, VehicleMaintenanceApplyListResponse, VehicleMaintenanceApplyRead, VehicleMaintenanceApplyReminder, VehicleMaintenanceApplyUpdate, VehicleMaintenanceProcessBoardListResponse, VehicleMaintenanceProcessCreate (+3 more)
+Cohesion: 0.32
+Nodes (12): Any, bool, bytes, int, str, _b64url_decode(), _b64url_encode(), decrypt_json() (+4 more)
### Community 137 - "Community 137"
-Cohesion: 0.22
-Nodes (12): Any, bool, str, WfProcessInstance, _LocalCallbackFn, _dispatch_local(), 工作流回调服务 —— 流程状态变更时通知业务系统, 注册本地回调函数。当 callback_url 以 path 开头时直接调用 fn。 (+4 more)
+Cohesion: 0.33
+Nodes (6): _fill_contract_linked_count(), Java: fillContractLinkedCount, Java: fillContractLinkedCount, Java: fillContractLinkedCount, Java: fillContractLinkedCount, Java: fillContractLinkedCount
### Community 148 - "Community 148"
-Cohesion: 0.33
-Nodes (10): Any, int, Session, str, list_ethnics(), 民族码表 CRUD(全局 sys_ethnic), _row_to_dict(), 民族码表 sys_ethnic(国标 GB/T 3304,全局) (+2 more)
+Cohesion: 0.39
+Nodes (6): _inject_user_info_after_tenant(), patch_contract_routes(), patch_quote_routes(), patch_route_file(), Path, str
### Community 149 - "Community 149"
Cohesion: 0.18
Nodes (11): Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus, Java: statisticsStatus (+3 more)
-### Community 150 - "Community 150"
-Cohesion: 0.31
-Nodes (8): Session, str, apply_product_snapshot_to_inventory(), apply_product_snapshot_to_plan(), ProductSnapshot, 地磅模块 — CRM 产品解析与快照写入。, 校验 CRM 产品并返回名称/规格快照。新建单据 product_id 必填。, resolve_crm_product()
-
-### Community 151 - "Community 151"
-Cohesion: 0.47
-Nodes (5): OperLogDetailBody, OperLogListBody, 操作日志(兼容 RuoYi OperLog 视图), OperLogDetailBody, OperLogListBody
-
-### Community 152 - "Community 152"
-Cohesion: 0.40
-Nodes (4): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID, ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID, ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID
-
## Knowledge Gaps
-- **78 isolated node(s):** `Session`, `Request`, `bool`, `bool`, `Config` (+73 more)
+- **77 isolated node(s):** `Session`, `Request`, `bool`, `bool`, `Config` (+72 more)
These have ≤1 connection - possible missing edges or undocumented components.
-- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+- **3 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
-- **Why does `Session` connect `Community 12` to `Community 0`, `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 13`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 39`, `Community 43`, `Community 44`, `Community 47`, `Community 49`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 56`, `Community 58`, `Community 59`, `Community 60`, `Community 61`, `Community 62`, `Community 66`, `Community 68`, `Community 70`, `Community 71`, `Community 72`, `Community 73`, `Community 74`, `Community 75`, `Community 76`, `Community 78`, `Community 79`, `Community 80`, `Community 81`, `Community 85`, `Community 86`, `Community 87`, `Community 89`, `Community 91`, `Community 92`, `Community 93`, `Community 94`, `Community 95`, `Community 97`, `Community 98`, `Community 99`, `Community 101`, `Community 104`, `Community 107`, `Community 109`, `Community 110`, `Community 112`, `Community 113`, `Community 114`, `Community 118`, `Community 120`, `Community 121`, `Community 123`, `Community 124`, `Community 125`, `Community 130`, `Community 148`, `Community 149`, `Community 150`, `Community 151`?**
- _High betweenness centrality (0.260) - this node is a cross-community bridge._
-- **Why does `BaseModel` connect `Community 49` to `Community 128`, `Community 1`, `Community 2`, `Community 0`, `Community 4`, `Community 132`, `Community 6`, `Community 7`, `Community 136`, `Community 9`, `Community 10`, `Community 135`, `Community 11`, `Community 15`, `Community 18`, `Community 19`, `Community 22`, `Community 23`, `Community 24`, `Community 151`, `Community 29`, `Community 30`, `Community 35`, `Community 38`, `Community 39`, `Community 40`, `Community 42`, `Community 44`, `Community 46`, `Community 48`, `Community 61`, `Community 64`, `Community 66`, `Community 71`, `Community 90`, `Community 101`, `Community 112`, `Community 118`, `Community 126`, `Community 127`?**
- _High betweenness centrality (0.055) - this node is a cross-community bridge._
-- **Why does `int` connect `Community 30` to `Community 0`, `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 148`, `Community 22`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 32`, `Community 35`, `Community 37`, `Community 38`, `Community 41`, `Community 43`, `Community 44`, `Community 45`, `Community 47`, `Community 50`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 55`, `Community 56`, `Community 66`, `Community 67`, `Community 68`, `Community 69`, `Community 70`, `Community 72`, `Community 73`, `Community 74`, `Community 76`, `Community 77`, `Community 78`, `Community 79`, `Community 80`, `Community 83`, `Community 85`, `Community 86`, `Community 91`, `Community 92`, `Community 93`, `Community 94`, `Community 95`, `Community 97`, `Community 98`, `Community 99`, `Community 101`, `Community 104`, `Community 109`, `Community 112`, `Community 114`, `Community 118`, `Community 121`, `Community 124`?**
- _High betweenness centrality (0.040) - this node is a cross-community bridge._
+- **Why does `Session` connect `Community 3` to `Community 0`, `Community 1`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 31`, `Community 32`, `Community 33`, `Community 34`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 39`, `Community 40`, `Community 42`, `Community 43`, `Community 44`, `Community 46`, `Community 47`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 56`, `Community 58`, `Community 59`, `Community 60`, `Community 61`, `Community 62`, `Community 64`, `Community 65`, `Community 66`, `Community 68`, `Community 70`, `Community 71`, `Community 72`, `Community 73`, `Community 74`, `Community 75`, `Community 76`, `Community 78`, `Community 79`, `Community 80`, `Community 81`, `Community 86`, `Community 87`, `Community 89`, `Community 90`, `Community 91`, `Community 92`, `Community 93`, `Community 94`, `Community 95`, `Community 96`, `Community 97`, `Community 98`, `Community 99`, `Community 101`, `Community 107`, `Community 108`, `Community 109`, `Community 110`, `Community 112`, `Community 113`, `Community 119`, `Community 120`, `Community 121`, `Community 123`, `Community 125`, `Community 126`, `Community 127`, `Community 128`, `Community 129`, `Community 130`, `Community 137`, `Community 149`?**
+ _High betweenness centrality (0.253) - this node is a cross-community bridge._
+- **Why does `BaseModel` connect `Community 40` to `Community 0`, `Community 1`, `Community 2`, `Community 4`, `Community 135`, `Community 7`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 15`, `Community 18`, `Community 22`, `Community 23`, `Community 24`, `Community 30`, `Community 35`, `Community 38`, `Community 39`, `Community 42`, `Community 44`, `Community 46`, `Community 48`, `Community 49`, `Community 58`, `Community 59`, `Community 61`, `Community 66`, `Community 76`, `Community 96`, `Community 114`, `Community 127`?**
+ _High betweenness centrality (0.050) - this node is a cross-community bridge._
+- **Why does `int` connect `Community 30` to `Community 0`, `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 20`, `Community 21`, `Community 22`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 32`, `Community 33`, `Community 35`, `Community 37`, `Community 38`, `Community 41`, `Community 42`, `Community 43`, `Community 44`, `Community 45`, `Community 46`, `Community 47`, `Community 50`, `Community 51`, `Community 52`, `Community 53`, `Community 54`, `Community 55`, `Community 58`, `Community 59`, `Community 65`, `Community 66`, `Community 67`, `Community 68`, `Community 69`, `Community 70`, `Community 71`, `Community 72`, `Community 73`, `Community 76`, `Community 77`, `Community 78`, `Community 79`, `Community 80`, `Community 83`, `Community 86`, `Community 91`, `Community 92`, `Community 93`, `Community 94`, `Community 95`, `Community 96`, `Community 97`, `Community 98`, `Community 99`, `Community 101`, `Community 108`, `Community 112`, `Community 121`, `Community 128`, `Community 136`?**
+ _High betweenness centrality (0.046) - this node is a cross-community bridge._
- **Are the 337 inferred relationships involving `str` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?**
_`str` has 337 INFERRED edges - model-reasoned connections that need verification._
- **Are the 333 inferred relationships involving `Session` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?**
@@ -774,4 +756,4 @@ _Questions this graph is uniquely positioned to answer:_
- **Are the 222 inferred relationships involving `int` (e.g. with `AdvanceApplyCreate` and `AdvanceApplyOut`) actually correct?**
_`int` has 222 INFERRED edges - model-reasoned connections that need verification._
- **What connects `定期 ping MySQL,避免远程库/NAT 回收空闲 TCP 后首请求长时间卡住。`, `数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误`, `未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin` to the rest of the system?**
- _1427 weakly-connected nodes found - possible documentation gaps or missing edges._
\ No newline at end of file
+ _1446 weakly-connected nodes found - possible documentation gaps or missing edges._
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7.json b/backend/graphify-out/cache/ast/05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7.json
new file mode 100644
index 000000000..d59c3b900
--- /dev/null
+++ b/backend/graphify-out/cache/ast/05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "label": "menu_badges.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L1"}, {"id": "pl_menu_badges_menu_badge_stats", "label": "menu_badge_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17"}, {"id": "plmenubadgestatsread", "label": "PlMenuBadgeStatsRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "app_schemas_pl_menu_badge", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "app_services_pl_menu_badge_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_menu_badges_py", "target": "pl_menu_badges_menu_badge_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17", "weight": 1.0}, {"source": "pl_menu_badges_menu_badge_stats", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17", "weight": 1.0}, {"source": "pl_menu_badges_menu_badge_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17", "weight": 1.0}, {"source": "pl_menu_badges_menu_badge_stats", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17", "weight": 1.0}, {"source": "pl_menu_badges_menu_badge_stats", "target": "plmenubadgestatsread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L17", "weight": 1.0}, {"source": "pl_menu_badges_menu_badge_stats", "target": "plmenubadgestatsread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L32", "weight": 1.0}], "raw_calls": [{"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L22"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L22"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L23"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L23"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L23"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "build_menu_badge_counts", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L24"}, {"caller_nid": "pl_menu_badges_menu_badge_stats", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py", "source_location": "L31"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b.json b/backend/graphify-out/cache/ast/0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b.json
new file mode 100644
index 000000000..1d6547ca3
--- /dev/null
+++ b/backend/graphify-out/cache/ast/0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "label": "pl_vehicle_maintenance_service.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L1"}, {"id": "services_pl_vehicle_maintenance_service_generate_seq_no", "label": "_generate_seq_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32"}, {"id": "services_pl_vehicle_maintenance_service_generate_apply_no", "label": "generate_apply_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L46"}, {"id": "services_pl_vehicle_maintenance_service_generate_process_no", "label": "generate_process_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L56"}, {"id": "services_pl_vehicle_maintenance_service_resolve_user_name", "label": "_resolve_user_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L65"}, {"id": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "label": "_assert_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L76"}, {"id": "services_pl_vehicle_maintenance_service_resolve_user_id", "label": "_resolve_user_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90"}, {"id": "services_pl_vehicle_maintenance_service_validate_apply_dates", "label": "_validate_apply_dates()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114"}, {"id": "services_pl_vehicle_maintenance_service_get_apply_row", "label": "_get_apply_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125"}, {"id": "plvehiclemaintenanceapply", "label": "PlVehicleMaintenanceApply", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125"}, {"id": "services_pl_vehicle_maintenance_service_get_process_row", "label": "_get_process_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143"}, {"id": "plvehiclemaintenanceprocess", "label": "PlVehicleMaintenanceProcess", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143"}, {"id": "services_pl_vehicle_maintenance_service_has_active_process", "label": "_has_active_process()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161"}, {"id": "services_pl_vehicle_maintenance_service_apply_to_read", "label": "apply_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174"}, {"id": "vehiclemaintenanceapplyread", "label": "VehicleMaintenanceApplyRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174"}, {"id": "services_pl_vehicle_maintenance_service_process_to_read", "label": "process_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195"}, {"id": "vehiclemaintenanceprocessread", "label": "VehicleMaintenanceProcessRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195"}, {"id": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "label": "_resolve_apply_for_process()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227"}, {"id": "vehiclemaintenanceprocesscreate", "label": "VehicleMaintenanceProcessCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227"}, {"id": "vehiclemaintenanceprocessupdate", "label": "VehicleMaintenanceProcessUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227"}, {"id": "services_pl_vehicle_maintenance_service_list_applies", "label": "list_applies()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260"}, {"id": "services_pl_vehicle_maintenance_service_get_apply", "label": "get_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309"}, {"id": "services_pl_vehicle_maintenance_service_create_apply", "label": "create_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316"}, {"id": "vehiclemaintenanceapplycreate", "label": "VehicleMaintenanceApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316"}, {"id": "services_pl_vehicle_maintenance_service_update_apply", "label": "update_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362"}, {"id": "vehiclemaintenanceapplyupdate", "label": "VehicleMaintenanceApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362"}, {"id": "services_pl_vehicle_maintenance_service_cancel_apply", "label": "cancel_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399"}, {"id": "services_pl_vehicle_maintenance_service_delete_applies", "label": "delete_applies()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413"}, {"id": "services_pl_vehicle_maintenance_service_list_reminders", "label": "list_reminders()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428"}, {"id": "vehiclemaintenanceapplyreminder", "label": "VehicleMaintenanceApplyReminder", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428"}, {"id": "services_pl_vehicle_maintenance_service_board_item_to_read", "label": "board_item_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471"}, {"id": "vehiclemaintenanceprocessboarditem", "label": "VehicleMaintenanceProcessBoardItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471"}, {"id": "services_pl_vehicle_maintenance_service_list_process_board", "label": "list_process_board()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498"}, {"id": "services_pl_vehicle_maintenance_service_get_process", "label": "get_process()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567"}, {"id": "services_pl_vehicle_maintenance_service_create_process", "label": "create_process()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574"}, {"id": "services_pl_vehicle_maintenance_service_update_process", "label": "update_process()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613"}, {"id": "services_pl_vehicle_maintenance_service_delete_processes", "label": "delete_processes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_schemas_pl_vehicle_maintenance", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "app_services_pl_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_generate_seq_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_seq_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_seq_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_seq_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_seq_no", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_seq_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_generate_apply_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L46", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_apply_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L46", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_apply_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L46", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_generate_process_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L56", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_process_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L56", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_process_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_resolve_user_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L65", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L65", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_name", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L65", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_name", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L65", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L76", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L76", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L76", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L76", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_resolve_user_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_user_id", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L90", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_validate_apply_dates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_validate_apply_dates", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_validate_apply_dates", "target": "date", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_validate_apply_dates", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L114", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply_row", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply_row", "target": "plvehiclemaintenanceapply", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L125", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_get_process_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process_row", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process_row", "target": "plvehiclemaintenanceprocess", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L143", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_has_active_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_has_active_process", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_has_active_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_has_active_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_has_active_process", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L161", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_apply_to_read", "target": "plvehiclemaintenanceapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_apply_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_apply_to_read", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L174", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_process_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "plvehiclemaintenanceprocess", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "vehiclemaintenanceprocessread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L195", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "vehiclemaintenanceprocesscreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "vehiclemaintenanceprocessupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "plvehiclemaintenanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L227", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_list_applies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L260", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_get_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_create_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "vehiclemaintenanceapplycreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L316", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_update_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "vehiclemaintenanceapplyupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L362", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_cancel_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "vehiclemaintenanceapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L399", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_delete_applies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L413", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_list_reminders", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "vehiclemaintenanceapplyreminder", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L428", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_board_item_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "plvehiclemaintenanceapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "plvehiclemaintenanceprocess", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "vehiclemaintenanceprocessboarditem", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L471", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_list_process_board", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "vehiclemaintenanceprocessboarditem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L498", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_get_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "vehiclemaintenanceprocessread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L567", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_create_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "vehiclemaintenanceprocesscreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "vehiclemaintenanceprocessread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L574", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_update_process", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "vehiclemaintenanceprocessupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "vehiclemaintenanceprocessread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L613", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_maintenance_service_py", "target": "services_pl_vehicle_maintenance_service_delete_processes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_processes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_processes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_processes", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_processes", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L665", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_apply_no", "target": "services_pl_vehicle_maintenance_service_generate_seq_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L47", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_generate_process_no", "target": "services_pl_vehicle_maintenance_service_generate_seq_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L57", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_apply_to_read", "target": "vehiclemaintenanceapplyread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L175", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_apply_to_read", "target": "services_pl_vehicle_maintenance_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L180", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "vehiclemaintenanceprocessread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_process_to_read", "target": "services_pl_vehicle_maintenance_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L216", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L238", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "target": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L256", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_applies", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L306", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L312", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_apply", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L313", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L326", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "services_pl_vehicle_maintenance_service_validate_apply_dates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L327", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "services_pl_vehicle_maintenance_service_resolve_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L330", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "plvehiclemaintenanceapply", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L334", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "services_pl_vehicle_maintenance_service_generate_apply_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_apply", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L359", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L369", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "services_pl_vehicle_maintenance_service_validate_apply_dates", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L377", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "services_pl_vehicle_maintenance_service_resolve_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L381", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_apply", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L396", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L402", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_cancel_apply", "target": "services_pl_vehicle_maintenance_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L410", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "services_pl_vehicle_maintenance_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L417", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_applies", "target": "services_pl_vehicle_maintenance_service_has_active_process", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L420", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_reminders", "target": "vehiclemaintenanceapplyreminder", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L456", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "vehiclemaintenanceprocessboarditem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L476", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_board_item_to_read", "target": "services_pl_vehicle_maintenance_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L486", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_list_process_board", "target": "services_pl_vehicle_maintenance_service_board_item_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L562", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "services_pl_vehicle_maintenance_service_get_process_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L570", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_get_process", "target": "services_pl_vehicle_maintenance_service_process_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L571", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L580", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "services_pl_vehicle_maintenance_service_resolve_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L581", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "plvehiclemaintenanceprocess", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L585", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "services_pl_vehicle_maintenance_service_generate_process_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L587", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_create_process", "target": "services_pl_vehicle_maintenance_service_process_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L610", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "services_pl_vehicle_maintenance_service_get_process_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L620", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L622", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "services_pl_vehicle_maintenance_service_resolve_user_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L625", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_update_process", "target": "services_pl_vehicle_maintenance_service_process_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L662", "weight": 1.0}, {"source": "services_pl_vehicle_maintenance_service_delete_processes", "target": "services_pl_vehicle_maintenance_service_get_process_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L670", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_vehicle_maintenance_service_generate_seq_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L37"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_seq_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L37"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_seq_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L37"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_seq_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L38"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_seq_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L39"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_apply_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L51"}, {"caller_nid": "services_pl_vehicle_maintenance_service_generate_process_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L61"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L69"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L69"}, {"caller_nid": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L78"}, {"caller_nid": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L78"}, {"caller_nid": "services_pl_vehicle_maintenance_service_assert_vehicle_exists", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L87"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_id", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L98"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L100"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L100"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_user_id", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L110"}, {"caller_nid": "services_pl_vehicle_maintenance_service_validate_apply_dates", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L120"}, {"caller_nid": "services_pl_vehicle_maintenance_service_validate_apply_dates", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L122"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_apply_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L129"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_apply_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L129"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_apply_row", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L138"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_apply_row", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L139"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_process_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L147"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_process_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L147"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_process_row", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L156"}, {"caller_nid": "services_pl_vehicle_maintenance_service_get_process_row", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L157"}, {"caller_nid": "services_pl_vehicle_maintenance_service_has_active_process", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L163"}, {"caller_nid": "services_pl_vehicle_maintenance_service_has_active_process", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L163"}, {"caller_nid": "services_pl_vehicle_maintenance_service_process_to_read", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L200"}, {"caller_nid": "services_pl_vehicle_maintenance_service_process_to_read", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L200"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L235"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L240"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L242"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L242"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L251"}, {"caller_nid": "services_pl_vehicle_maintenance_service_resolve_apply_for_process", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L255"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L274"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L280"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L281"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L282"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L287"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L298"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L299"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L301"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L301"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L301"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_applies", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L301"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L322"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L323"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L325"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L333"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L335"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L343"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L344"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L356"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L357"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L358"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L371"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L372"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L373"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L375"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L388"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L389"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L393"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L394"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L395"}, {"caller_nid": "services_pl_vehicle_maintenance_service_cancel_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L404"}, {"caller_nid": "services_pl_vehicle_maintenance_service_cancel_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L407"}, {"caller_nid": "services_pl_vehicle_maintenance_service_cancel_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L408"}, {"caller_nid": "services_pl_vehicle_maintenance_service_cancel_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L409"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_applies", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L419"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_applies", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L421"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_applies", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L424"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_applies", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L425"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L436"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L439"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L440"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L448"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L449"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L449"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_reminders", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L455"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "outerjoin", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L514"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L514"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L517"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L530"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L531"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L532"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L533"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L533"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L538"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L553"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L554"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L556"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L556"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L556"}, {"caller_nid": "services_pl_vehicle_maintenance_service_list_process_board", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L556"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_process", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L584"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_process", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L586"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_process", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L603"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_process", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L608"}, {"caller_nid": "services_pl_vehicle_maintenance_service_create_process", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L609"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_process", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L628"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_process", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L632"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_process", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L632"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_process", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L660"}, {"caller_nid": "services_pl_vehicle_maintenance_service_update_process", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L661"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_processes", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L668"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_processes", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L677"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_processes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L677"}, {"caller_nid": "services_pl_vehicle_maintenance_service_delete_processes", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py", "source_location": "L689"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54.json b/backend/graphify-out/cache/ast/0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54.json
new file mode 100644
index 000000000..834b183a4
--- /dev/null
+++ b/backend/graphify-out/cache/ast/0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "label": "payment.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L1"}, {"id": "bx_payment_tenant", "label": "_tenant()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39"}, {"id": "bx_payment_wrap_reimburse_rows", "label": "_wrap_reimburse_rows()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L43"}, {"id": "reimburseapplyout", "label": "ReimburseApplyOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L43"}, {"id": "bx_payment_list_pending_payments", "label": "list_pending_payments()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48"}, {"id": "bx_payment_payment_finance_stats", "label": "payment_finance_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L85"}, {"id": "bx_payment_list_processed_payments", "label": "list_processed_payments()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95"}, {"id": "bx_payment_pay", "label": "pay()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132"}, {"id": "payrequest", "label": "PayRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132"}, {"id": "bx_payment_offset", "label": "offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152"}, {"id": "offsetrequest", "label": "OffsetRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152"}, {"id": "bx_payment_batch_offset", "label": "batch_offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175"}, {"id": "batchoffsetrequest", "label": "BatchOffsetRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175"}, {"id": "bx_payment_list_advance_issues", "label": "list_advance_issues()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198"}, {"id": "bx_payment_advance_issue_stats", "label": "advance_issue_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L245"}, {"id": "bx_payment_export_advance_issues", "label": "export_advance_issues()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255"}, {"id": "bx_payment_issue_advance", "label": "issue_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335"}, {"id": "advanceissuerequest", "label": "AdvanceIssueRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335"}, {"id": "bx_payment_list_advance_offset_records", "label": "list_advance_offset_records()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L359"}, {"id": "bx_payment_list_reimburse_offset_records", "label": "list_reimburse_offset_records()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L399"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "io", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "urllib_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "fastapi_responses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_schemas_bx_advance", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_schemas_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_services_bx_advance", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_services_bx_attachment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_services_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39", "weight": 1.0}, {"source": "bx_payment_tenant", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39", "weight": 1.0}, {"source": "bx_payment_tenant", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39", "weight": 1.0}, {"source": "bx_payment_tenant", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L39", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_wrap_reimburse_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L43", "weight": 1.0}, {"source": "bx_payment_wrap_reimburse_rows", "target": "reimburseapplyout", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L43", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_list_pending_payments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L48", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_payment_finance_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L85", "weight": 1.0}, {"source": "bx_payment_payment_finance_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L85", "weight": 1.0}, {"source": "bx_payment_payment_finance_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L85", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_list_processed_payments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L95", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_pay", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_payment_pay", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_payment_pay", "target": "payrequest", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_payment_pay", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_payment_pay", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_offset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_payment_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_payment_offset", "target": "offsetrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_payment_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_payment_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L152", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_batch_offset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_payment_batch_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_payment_batch_offset", "target": "batchoffsetrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_payment_batch_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_payment_batch_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L175", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_list_advance_issues", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L198", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_advance_issue_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_payment_advance_issue_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_payment_advance_issue_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L245", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_export_advance_issues", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L255", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_issue_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335", "weight": 1.0}, {"source": "bx_payment_issue_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335", "weight": 1.0}, {"source": "bx_payment_issue_advance", "target": "advanceissuerequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335", "weight": 1.0}, {"source": "bx_payment_issue_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335", "weight": 1.0}, {"source": "bx_payment_issue_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L335", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_list_advance_offset_records", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L359", "weight": 1.0}, {"source": "bx_payment_list_advance_offset_records", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L359", "weight": 1.0}, {"source": "bx_payment_list_advance_offset_records", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L359", "weight": 1.0}, {"source": "bx_payment_list_advance_offset_records", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L359", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_payment_py", "target": "bx_payment_list_reimburse_offset_records", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L399", "weight": 1.0}, {"source": "bx_payment_list_reimburse_offset_records", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L399", "weight": 1.0}, {"source": "bx_payment_list_reimburse_offset_records", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L399", "weight": 1.0}, {"source": "bx_payment_list_reimburse_offset_records", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L399", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_payment_list_pending_payments", "target": "bx_payment_wrap_reimburse_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_payment_payment_finance_stats", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L89", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L106", "weight": 1.0}, {"source": "bx_payment_list_processed_payments", "target": "bx_payment_wrap_reimburse_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L127", "weight": 1.0}, {"source": "bx_payment_pay", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L138", "weight": 1.0}, {"source": "bx_payment_offset", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L158", "weight": 1.0}, {"source": "bx_payment_batch_offset", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_payment_list_advance_issues", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L210", "weight": 1.0}, {"source": "bx_payment_advance_issue_stats", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_payment_export_advance_issues", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L265", "weight": 1.0}, {"source": "bx_payment_issue_advance", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L341", "weight": 1.0}, {"source": "bx_payment_list_advance_offset_records", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L364", "weight": 1.0}, {"source": "bx_payment_list_reimburse_offset_records", "target": "bx_payment_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L404", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_payment_tenant", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L40"}, {"caller_nid": "bx_payment_tenant", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L40"}, {"caller_nid": "bx_payment_wrap_reimburse_rows", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L44"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L62"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L63"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L64"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L65"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L69"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L69"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L70"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L77"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L78"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L79"}, {"caller_nid": "bx_payment_list_pending_payments", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L80"}, {"caller_nid": "bx_payment_payment_finance_stats", "callee": "finance_payment_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L90"}, {"caller_nid": "bx_payment_payment_finance_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L91"}, {"caller_nid": "bx_payment_payment_finance_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L91"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L107"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L109"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L110"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L111"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L112"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L116"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L116"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L117"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L124"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L125"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L126"}, {"caller_nid": "bx_payment_list_processed_payments", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L127"}, {"caller_nid": "bx_payment_pay", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L145"}, {"caller_nid": "bx_payment_pay", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L146"}, {"caller_nid": "bx_payment_pay", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L147"}, {"caller_nid": "bx_payment_pay", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L148"}, {"caller_nid": "bx_payment_pay", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L148"}, {"caller_nid": "bx_payment_offset", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L168"}, {"caller_nid": "bx_payment_offset", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L169"}, {"caller_nid": "bx_payment_offset", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L170"}, {"caller_nid": "bx_payment_offset", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L171"}, {"caller_nid": "bx_payment_offset", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L171"}, {"caller_nid": "bx_payment_batch_offset", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L185"}, {"caller_nid": "bx_payment_batch_offset", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L191"}, {"caller_nid": "bx_payment_batch_offset", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L192"}, {"caller_nid": "bx_payment_batch_offset", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L193"}, {"caller_nid": "bx_payment_batch_offset", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L194"}, {"caller_nid": "bx_payment_batch_offset", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L194"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L213"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L214"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L214"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L214"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L216"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L218"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L218"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L220"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L221"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L222"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L223"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L227"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L227"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L228"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L235"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L236"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "offset_amount_map", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L238"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L240"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L241"}, {"caller_nid": "bx_payment_list_advance_issues", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L241"}, {"caller_nid": "bx_payment_advance_issue_stats", "callee": "finance_issue_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L250"}, {"caller_nid": "bx_payment_advance_issue_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L251"}, {"caller_nid": "bx_payment_advance_issue_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L251"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L268"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L269"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L269"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L269"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L271"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L273"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L273"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L275"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L276"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L277"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L278"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L282"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L282"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L283"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L290"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L291"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "StringIO", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L293"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "writer", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L294"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "writerow", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L295"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "writerow", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L310"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "seek", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L324"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L325"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L325"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "quote", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L326"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "StreamingResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L327"}, {"caller_nid": "bx_payment_export_advance_issues", "callee": "getvalue", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L328"}, {"caller_nid": "bx_payment_issue_advance", "callee": "get_by_biz", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L342"}, {"caller_nid": "bx_payment_issue_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L344"}, {"caller_nid": "bx_payment_issue_advance", "callee": "issue", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L345"}, {"caller_nid": "bx_payment_issue_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L349"}, {"caller_nid": "bx_payment_issue_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L350"}, {"caller_nid": "bx_payment_issue_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L351"}, {"caller_nid": "bx_payment_issue_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L352"}, {"caller_nid": "bx_payment_issue_advance", "callee": "offset_amount_map", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L353"}, {"caller_nid": "bx_payment_issue_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L354"}, {"caller_nid": "bx_payment_issue_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L355"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L365"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L367"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L367"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L367"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L379"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L379"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "AdvanceOffsetRecordOut", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L383"}, {"caller_nid": "bx_payment_list_advance_offset_records", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L395"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L405"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L407"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L407"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L407"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L416"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L416"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "ReimburseOffsetRecordOut", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L420"}, {"caller_nid": "bx_payment_list_reimburse_offset_records", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py", "source_location": "L432"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/1c3c2afe7c6727a00f6fa69673a156cead52f29739cdd485ce3467bd6f434c5d.json b/backend/graphify-out/cache/ast/1c3c2afe7c6727a00f6fa69673a156cead52f29739cdd485ce3467bd6f434c5d.json
new file mode 100644
index 000000000..19fdcd998
--- /dev/null
+++ b/backend/graphify-out/cache/ast/1c3c2afe7c6727a00f6fa69673a156cead52f29739cdd485ce3467bd6f434c5d.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "label": "pl_plan_service.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1"}, {"id": "services_pl_plan_service_determine_plan_type", "label": "determine_plan_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42"}, {"id": "services_pl_plan_service_is_ton_product_unit", "label": "is_ton_product_unit()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L50"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L50"}, {"id": "services_pl_plan_service_product_quantity", "label": "_product_quantity()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57"}, {"id": "planproductcreate", "label": "PlanProductCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57"}, {"id": "services_pl_plan_service_product_create_actual_qty", "label": "_product_create_actual_qty()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L67"}, {"id": "services_pl_plan_service_plan_product_actual_qty", "label": "_plan_product_actual_qty()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L73"}, {"id": "plplanproduct", "label": "PlPlanProduct", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L73"}, {"id": "services_pl_plan_service_sum_product_actual_quantities", "label": "sum_product_actual_quantities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L79"}, {"id": "services_pl_plan_service_sum_plan_product_actual_quantities", "label": "sum_plan_product_actual_quantities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L83"}, {"id": "services_pl_plan_service_estimate_qty_fields", "label": "_estimate_qty_fields()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L87"}, {"id": "services_pl_plan_service_build_plan_product", "label": "build_plan_product()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98"}, {"id": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "label": "_apply_vehicle_snapshot_to_plan_transport()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145"}, {"id": "pltransport", "label": "PlTransport", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145"}, {"id": "plvehicle", "label": "PlVehicle", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145"}, {"id": "services_pl_plan_service_resolve_driver", "label": "_resolve_driver()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163"}, {"id": "services_pl_plan_service_calc_freight_amount", "label": "_calc_freight_amount()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208"}, {"id": "services_pl_plan_service_fetch_hazard_flags_map", "label": "fetch_hazard_flags_map()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229"}, {"id": "services_pl_plan_service_resolve_hazard_flags_from_crm", "label": "resolve_hazard_flags_from_crm()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255"}, {"id": "services_pl_plan_service_plan_has_hazard_products", "label": "plan_has_hazard_products()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283"}, {"id": "services_pl_plan_service_collect_hazard_product_ids", "label": "collect_hazard_product_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291"}, {"id": "services_pl_plan_service_clear_hazard_cert_ready", "label": "clear_hazard_cert_ready()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L316"}, {"id": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "label": "validate_hazard_cert_ready_for_transport()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322"}, {"id": "services_pl_plan_service_set_hazard_cert_ready", "label": "set_hazard_cert_ready()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337"}, {"id": "services_pl_plan_service_update_plan_product_certs", "label": "update_plan_product_certs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387"}, {"id": "services_pl_plan_service_generate_transport_no", "label": "_generate_transport_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L456"}, {"id": "services_pl_plan_service_resolve_transport_context", "label": "_resolve_transport_context()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474"}, {"id": "plantransportcreateblock", "label": "PlanTransportCreateBlock", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474"}, {"id": "services_pl_plan_service_apply_payload_to_transport_row", "label": "_apply_payload_to_transport_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531"}, {"id": "services_pl_plan_service_upsert_draft_transport_for_plan", "label": "upsert_draft_transport_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568"}, {"id": "services_pl_plan_service_clear_draft_transport_for_plan", "label": "clear_draft_transport_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691"}, {"id": "services_pl_plan_service_sync_transport_prefill_for_plan", "label": "sync_transport_prefill_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732"}, {"id": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "label": "apply_vehicle_prefill_to_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754"}, {"id": "services_pl_plan_service_create_transport_for_plan", "label": "create_transport_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776"}, {"id": "services_pl_plan_service_assert_contract_selectable_for_plan", "label": "assert_contract_selectable_for_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L891"}, {"id": "services_pl_plan_service_validate_create_full", "label": "validate_create_full()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L913"}, {"id": "plancreatefull", "label": "PlanCreateFull", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L913"}, {"id": "services_pl_plan_service_calc_plan_total_amount", "label": "calc_plan_total_amount()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L935"}, {"id": "services_pl_plan_service_transport_has_locked_freight_settlement", "label": "transport_has_locked_freight_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946"}, {"id": "services_pl_plan_service_apply_archive_product_quantities", "label": "apply_archive_product_quantities()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970"}, {"id": "planarchiveproductitem", "label": "PlanArchiveProductItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970"}, {"id": "services_pl_plan_service_apply_archive_freight", "label": "apply_archive_freight()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005"}, {"id": "planarchivefreightblock", "label": "PlanArchiveFreightBlock", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005"}, {"id": "services_pl_plan_service_record_plan_change", "label": "record_plan_change()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099"}, {"id": "services_pl_plan_service_apply_plan_driver_feedback", "label": "apply_plan_driver_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125"}, {"id": "plandriverfeedbackupdatebody", "label": "PlanDriverFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125"}, {"id": "services_pl_plan_service_apply_plan_site_feedback", "label": "apply_plan_site_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162"}, {"id": "plansitefeedbackupdatebody", "label": "PlanSiteFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162"}, {"id": "pltransportsitelink", "label": "PlTransportSiteLink", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162"}, {"id": "services_pl_plan_service_rationale_234", "label": "\u6279\u91cf\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L234"}, {"id": "services_pl_plan_service_rationale_262", "label": "\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\uff08\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L262"}, {"id": "services_pl_plan_service_rationale_578", "label": "\u5199\u5165/\u66f4\u65b0\u8349\u7a3f\u8fd0\u8f93\u5355\uff08pl_transport + pl_plan_transport\uff09\uff0c\u8ba1\u5212\u4fdd\u6301\u5f85\u5b89\u6392\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L578"}, {"id": "services_pl_plan_service_rationale_742", "label": "\u540c\u6b65\u8fd0\u8f93\u9884\u9009\u5230\u8349\u7a3f\u8fd0\u8f93\u5b50\u8868\uff08pl_transport\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L742"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "app_schemas_pl_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "app_services_pl_freight_settlement_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L34", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "app_services_pl_transport_resource_snapshot_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L35", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_determine_plan_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42", "weight": 1.0}, {"source": "services_pl_plan_service_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42", "weight": 1.0}, {"source": "services_pl_plan_service_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42", "weight": 1.0}, {"source": "services_pl_plan_service_determine_plan_type", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L42", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_is_ton_product_unit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L50", "weight": 1.0}, {"source": "services_pl_plan_service_is_ton_product_unit", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L50", "weight": 1.0}, {"source": "services_pl_plan_service_is_ton_product_unit", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L50", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_product_quantity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57", "weight": 1.0}, {"source": "services_pl_plan_service_product_quantity", "target": "planproductcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57", "weight": 1.0}, {"source": "services_pl_plan_service_product_quantity", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L57", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_product_create_actual_qty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_plan_service_product_create_actual_qty", "target": "planproductcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_plan_service_product_create_actual_qty", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_plan_product_actual_qty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L73", "weight": 1.0}, {"source": "services_pl_plan_service_plan_product_actual_qty", "target": "plplanproduct", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L73", "weight": 1.0}, {"source": "services_pl_plan_service_plan_product_actual_qty", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L73", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_sum_product_actual_quantities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L79", "weight": 1.0}, {"source": "services_pl_plan_service_sum_product_actual_quantities", "target": "planproductcreate", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L79", "weight": 1.0}, {"source": "services_pl_plan_service_sum_product_actual_quantities", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L79", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_sum_plan_product_actual_quantities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L83", "weight": 1.0}, {"source": "services_pl_plan_service_sum_plan_product_actual_quantities", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L83", "weight": 1.0}, {"source": "services_pl_plan_service_sum_plan_product_actual_quantities", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L83", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_estimate_qty_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L87", "weight": 1.0}, {"source": "services_pl_plan_service_estimate_qty_fields", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L87", "weight": 1.0}, {"source": "services_pl_plan_service_estimate_qty_fields", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L87", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_build_plan_product", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "planproductcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "plplanproduct", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L98", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "pltransport", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "plvehicle", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L145", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_resolve_driver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_driver", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L163", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_calc_freight_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L208", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_fetch_hazard_flags_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "services_pl_plan_service_fetch_hazard_flags_map", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L229", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_resolve_hazard_flags_from_crm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_hazard_flags_from_crm", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L255", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_plan_has_hazard_products", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_plan_service_plan_has_hazard_products", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_plan_service_plan_has_hazard_products", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_plan_service_plan_has_hazard_products", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283", "weight": 1.0}, {"source": "services_pl_plan_service_plan_has_hazard_products", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L283", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_collect_hazard_product_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "planproductcreate", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L291", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_clear_hazard_cert_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L316", "weight": 1.0}, {"source": "services_pl_plan_service_clear_hazard_cert_ready", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L316", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322", "weight": 1.0}, {"source": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322", "weight": 1.0}, {"source": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322", "weight": 1.0}, {"source": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322", "weight": 1.0}, {"source": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L322", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_set_hazard_cert_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "plplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L337", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_update_plan_product_certs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L387", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_generate_transport_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L456", "weight": 1.0}, {"source": "services_pl_plan_service_generate_transport_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L456", "weight": 1.0}, {"source": "services_pl_plan_service_generate_transport_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L456", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_resolve_transport_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "plvehicle", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L474", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_payload_to_transport_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "pltransport", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "plvehicle", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "decimal", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "decimal", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "services_pl_plan_service_apply_payload_to_transport_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L531", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_upsert_draft_transport_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L568", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_clear_draft_transport_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691", "weight": 1.0}, {"source": "services_pl_plan_service_clear_draft_transport_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691", "weight": 1.0}, {"source": "services_pl_plan_service_clear_draft_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691", "weight": 1.0}, {"source": "services_pl_plan_service_clear_draft_transport_for_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691", "weight": 1.0}, {"source": "services_pl_plan_service_clear_draft_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L691", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_sync_transport_prefill_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L732", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L754", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_create_transport_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "plplanproduct", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "plantransportcreateblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "pltransport", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L776", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_assert_contract_selectable_for_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L891", "weight": 1.0}, {"source": "services_pl_plan_service_assert_contract_selectable_for_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L891", "weight": 1.0}, {"source": "services_pl_plan_service_assert_contract_selectable_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L891", "weight": 1.0}, {"source": "services_pl_plan_service_assert_contract_selectable_for_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L891", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_validate_create_full", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L913", "weight": 1.0}, {"source": "services_pl_plan_service_validate_create_full", "target": "plancreatefull", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L913", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_calc_plan_total_amount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L935", "weight": 1.0}, {"source": "services_pl_plan_service_calc_plan_total_amount", "target": "planproductcreate", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L935", "weight": 1.0}, {"source": "services_pl_plan_service_calc_plan_total_amount", "target": "decimal", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L935", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_transport_has_locked_freight_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946", "weight": 1.0}, {"source": "services_pl_plan_service_transport_has_locked_freight_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946", "weight": 1.0}, {"source": "services_pl_plan_service_transport_has_locked_freight_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946", "weight": 1.0}, {"source": "services_pl_plan_service_transport_has_locked_freight_settlement", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946", "weight": 1.0}, {"source": "services_pl_plan_service_transport_has_locked_freight_settlement", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L946", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_archive_product_quantities", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "planarchiveproductitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L970", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_archive_freight", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "planarchivefreightblock", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1005", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_record_plan_change", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "services_pl_plan_service_record_plan_change", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1099", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_plan_driver_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "plandriverfeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_driver_feedback", "target": "pltransport", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1125", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_plan_service_py", "target": "services_pl_plan_service_apply_plan_site_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "plansitefeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_apply_plan_site_feedback", "target": "pltransportsitelink", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1162", "weight": 1.0}, {"source": "services_pl_plan_service_product_quantity", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L59", "weight": 1.0}, {"source": "services_pl_plan_service_product_create_actual_qty", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L69", "weight": 1.0}, {"source": "services_pl_plan_service_plan_product_actual_qty", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L75", "weight": 1.0}, {"source": "services_pl_plan_service_sum_product_actual_quantities", "target": "services_pl_plan_service_product_create_actual_qty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L80", "weight": 1.0}, {"source": "services_pl_plan_service_sum_plan_product_actual_quantities", "target": "services_pl_plan_service_plan_product_actual_qty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L84", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "services_pl_plan_service_product_quantity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L108", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "services_pl_plan_service_estimate_qty_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L109", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "plplanproduct", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_plan_service_build_plan_product", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L124", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L216", "weight": 1.0}, {"source": "services_pl_plan_service_calc_freight_amount", "target": "services_pl_plan_service_sum_plan_product_actual_quantities", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L220", "weight": 1.0}, {"source": "services_pl_plan_service_plan_has_hazard_products", "target": "services_pl_plan_service_collect_hazard_product_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L288", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "services_pl_plan_service_fetch_hazard_flags_map", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L299", "weight": 1.0}, {"source": "services_pl_plan_service_collect_hazard_product_ids", "target": "services_pl_plan_service_resolve_hazard_flags_from_crm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L305", "weight": 1.0}, {"source": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "target": "services_pl_plan_service_plan_has_hazard_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L328", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "services_pl_plan_service_plan_has_hazard_products", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L370", "weight": 1.0}, {"source": "services_pl_plan_service_set_hazard_cert_ready", "target": "services_pl_plan_service_clear_hazard_cert_ready", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L379", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "services_pl_plan_service_fetch_hazard_flags_map", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L418", "weight": 1.0}, {"source": "services_pl_plan_service_update_plan_product_certs", "target": "services_pl_plan_service_resolve_hazard_flags_from_crm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L438", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "services_pl_plan_service_resolve_driver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L494", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "services_pl_plan_service_calc_freight_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L508", "weight": 1.0}, {"source": "services_pl_plan_service_resolve_transport_context", "target": "services_pl_plan_service_sum_plan_product_actual_quantities", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L517", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "services_pl_plan_service_resolve_transport_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L588", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "services_pl_plan_service_apply_payload_to_transport_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L609", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "services_pl_plan_service_generate_transport_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L626", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "pltransport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L627", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L670", "weight": 1.0}, {"source": "services_pl_plan_service_upsert_draft_transport_for_plan", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L684", "weight": 1.0}, {"source": "services_pl_plan_service_sync_transport_prefill_for_plan", "target": "services_pl_plan_service_upsert_draft_transport_for_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L743", "weight": 1.0}, {"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan", "target": "services_pl_plan_service_upsert_draft_transport_for_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L765", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L799", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "services_pl_plan_service_resolve_driver", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L801", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "services_pl_plan_service_calc_freight_amount", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L816", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "services_pl_plan_service_sum_plan_product_actual_quantities", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L826", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "pltransport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L829", "weight": 1.0}, {"source": "services_pl_plan_service_create_transport_for_plan", "target": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L874", "weight": 1.0}, {"source": "services_pl_plan_service_validate_create_full", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L925", "weight": 1.0}, {"source": "services_pl_plan_service_validate_create_full", "target": "services_pl_plan_service_sum_product_actual_quantities", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L927", "weight": 1.0}, {"source": "services_pl_plan_service_calc_plan_total_amount", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L936", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_product_quantities", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L990", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "decimal", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1018", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "services_pl_plan_service_transport_has_locked_freight_settlement", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1021", "weight": 1.0}, {"source": "services_pl_plan_service_apply_archive_freight", "target": "services_pl_plan_service_sum_plan_product_actual_quantities", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1082", "weight": 1.0}, {"source": "services_pl_plan_service_rationale_234", "target": "services_pl_plan_service_fetch_hazard_flags_map", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L234", "weight": 1.0}, {"source": "services_pl_plan_service_rationale_262", "target": "services_pl_plan_service_resolve_hazard_flags_from_crm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L262", "weight": 1.0}, {"source": "services_pl_plan_service_rationale_578", "target": "services_pl_plan_service_upsert_draft_transport_for_plan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L578", "weight": 1.0}, {"source": "services_pl_plan_service_rationale_742", "target": "services_pl_plan_service_sync_transport_prefill_for_plan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L742", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_plan_service_is_ton_product_unit", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L51"}, {"caller_nid": "services_pl_plan_service_build_plan_product", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L112"}, {"caller_nid": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "callee": "build_transport_resource_snapshot", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L154"}, {"caller_nid": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport", "callee": "apply_resource_snapshot_json", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L160"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L171"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L171"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L183"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L183"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L183"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L190"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L190"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L195"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L195"}, {"caller_nid": "services_pl_plan_service_resolve_driver", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L205"}, {"caller_nid": "services_pl_plan_service_fetch_hazard_flags_map", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L241"}, {"caller_nid": "services_pl_plan_service_fetch_hazard_flags_map", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L243"}, {"caller_nid": "services_pl_plan_service_resolve_hazard_flags_from_crm", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L266"}, {"caller_nid": "services_pl_plan_service_resolve_hazard_flags_from_crm", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L270"}, {"caller_nid": "services_pl_plan_service_resolve_hazard_flags_from_crm", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L270"}, {"caller_nid": "services_pl_plan_service_collect_hazard_product_ids", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L298"}, {"caller_nid": "services_pl_plan_service_collect_hazard_product_ids", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L312"}, {"caller_nid": "services_pl_plan_service_collect_hazard_product_ids", "callee": "frozenset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L313"}, {"caller_nid": "services_pl_plan_service_validate_hazard_cert_ready_for_transport", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L331"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L346"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L346"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L355"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L357"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L359"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L362"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L374"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L377"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L382"}, {"caller_nid": "services_pl_plan_service_set_hazard_cert_ready", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L383"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L396"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L396"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L405"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L407"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L410"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L427"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L427"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L437"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L442"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L443"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L444"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L445"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L447"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L450"}, {"caller_nid": "services_pl_plan_service_update_plan_product_certs", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L452"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L457"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L458"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L460"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L460"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L460"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L461"}, {"caller_nid": "services_pl_plan_service_generate_transport_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L462"}, {"caller_nid": "services_pl_plan_service_resolve_transport_context", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L483"}, {"caller_nid": "services_pl_plan_service_resolve_transport_context", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L483"}, {"caller_nid": "services_pl_plan_service_resolve_transport_context", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L492"}, {"caller_nid": "services_pl_plan_service_resolve_transport_context", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L501"}, {"caller_nid": "services_pl_plan_service_resolve_transport_context", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L501"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L599"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L599"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L628"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L637"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L638"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L639"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "PlPlanTransport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L640"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L641"}, {"caller_nid": "services_pl_plan_service_upsert_draft_transport_for_plan", "callee": "sync_draft_settlement_freight_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L680"}, {"caller_nid": "services_pl_plan_service_clear_draft_transport_for_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L702"}, {"caller_nid": "services_pl_plan_service_clear_draft_transport_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L702"}, {"caller_nid": "services_pl_plan_service_clear_draft_transport_for_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L713"}, {"caller_nid": "services_pl_plan_service_clear_draft_transport_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L713"}, {"caller_nid": "services_pl_plan_service_clear_draft_transport_for_plan", "callee": "clear_resource_snapshot", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L726"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L788"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L788"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L797"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L809"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L809"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "generate_transport_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L828"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L830"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L855"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L857"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "PlPlanTransport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L858"}, {"caller_nid": "services_pl_plan_service_create_transport_for_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L859"}, {"caller_nid": "services_pl_plan_service_assert_contract_selectable_for_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L899"}, {"caller_nid": "services_pl_plan_service_assert_contract_selectable_for_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L899"}, {"caller_nid": "services_pl_plan_service_assert_contract_selectable_for_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L908"}, {"caller_nid": "services_pl_plan_service_assert_contract_selectable_for_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L910"}, {"caller_nid": "services_pl_plan_service_validate_create_full", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L915"}, {"caller_nid": "services_pl_plan_service_validate_create_full", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L917"}, {"caller_nid": "services_pl_plan_service_validate_create_full", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L926"}, {"caller_nid": "services_pl_plan_service_validate_create_full", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L929"}, {"caller_nid": "services_pl_plan_service_validate_create_full", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L932"}, {"caller_nid": "services_pl_plan_service_transport_has_locked_freight_settlement", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L952"}, {"caller_nid": "services_pl_plan_service_transport_has_locked_freight_settlement", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L952"}, {"caller_nid": "services_pl_plan_service_transport_has_locked_freight_settlement", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L952"}, {"caller_nid": "services_pl_plan_service_transport_has_locked_freight_settlement", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L963"}, {"caller_nid": "services_pl_plan_service_apply_archive_product_quantities", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L980"}, {"caller_nid": "services_pl_plan_service_apply_archive_product_quantities", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L987"}, {"caller_nid": "services_pl_plan_service_apply_archive_product_quantities", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L989"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1022"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1024"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1024"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1033"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "sync_draft_settlement_freight_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1038"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1048"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1050"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1053"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1053"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1062"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1071"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1084"}, {"caller_nid": "services_pl_plan_service_apply_archive_freight", "callee": "sync_draft_settlement_freight_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1090"}, {"caller_nid": "services_pl_plan_service_record_plan_change", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1110"}, {"caller_nid": "services_pl_plan_service_record_plan_change", "callee": "PlPlanChange", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1111"}, {"caller_nid": "services_pl_plan_service_record_plan_change", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1112"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1134"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1137"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1140"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1140"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1149"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1154"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "dumps", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1156"}, {"caller_nid": "services_pl_plan_service_apply_plan_driver_feedback", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1157"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1172"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1175"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1175"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1185"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1189"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "dumps", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1192"}, {"caller_nid": "services_pl_plan_service_apply_plan_site_feedback", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py", "source_location": "L1193"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38.json b/backend/graphify-out/cache/ast/2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38.json
new file mode 100644
index 000000000..9a7cb368e
--- /dev/null
+++ b/backend/graphify-out/cache/ast/2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "label": "freight.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L1"}, {"id": "pl_freight_generate_settlement_no", "label": "_generate_settlement_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30"}, {"id": "pl_freight_list_unsettled_plans", "label": "list_unsettled_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49"}, {"id": "unsettledplanlistresponse", "label": "UnsettledPlanListResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49"}, {"id": "pl_freight_list_settlements", "label": "list_settlements()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75"}, {"id": "freightsettlementlistresponse", "label": "FreightSettlementListResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75"}, {"id": "pl_freight_get_settlement_by_transport", "label": "get_settlement_by_transport()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105"}, {"id": "freightsettlementbytransportread", "label": "FreightSettlementByTransportRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105"}, {"id": "pl_freight_create_settlement", "label": "create_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120"}, {"id": "freightsettlementcreate", "label": "FreightSettlementCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120"}, {"id": "freightsettlementread", "label": "FreightSettlementRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120"}, {"id": "pl_freight_get_settlement", "label": "get_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139"}, {"id": "freightsettlementwithtransports", "label": "FreightSettlementWithTransports", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139"}, {"id": "pl_freight_update_settlement", "label": "update_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152"}, {"id": "freightsettlementupdate", "label": "FreightSettlementUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152"}, {"id": "pl_freight_cancel_settlement", "label": "cancel_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170"}, {"id": "pl_freight_delete_settlement", "label": "delete_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L182"}, {"id": "pl_freight_submit_settlement_approval", "label": "submit_settlement_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194"}, {"id": "freightsettlementsubmitapprovalbody", "label": "FreightSettlementSubmitApprovalBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194"}, {"id": "pl_freight_process_settlement_approval", "label": "process_settlement_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213"}, {"id": "freightsettlementapprovalactionbody", "label": "FreightSettlementApprovalActionBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213"}, {"id": "pl_freight_withdraw_settlement_approval", "label": "withdraw_settlement_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233"}, {"id": "pl_freight_get_settlement_approval_flow", "label": "get_settlement_approval_flow()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L245"}, {"id": "pl_freight_disburse_settlement", "label": "disburse_settlement()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256"}, {"id": "freightsettlementdisbursebody", "label": "FreightSettlementDisburseBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256"}, {"id": "pl_freight_submit_settlement_legacy", "label": "submit_settlement_legacy()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276"}, {"id": "pl_freight_approve_settlement_legacy", "label": "approve_settlement_legacy()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285"}, {"id": "pl_freight_list_vouchers", "label": "list_vouchers()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294"}, {"id": "remittancevoucherread", "label": "RemittanceVoucherRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_schemas_pl_freight", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "app_services", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_generate_settlement_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30", "weight": 1.0}, {"source": "pl_freight_generate_settlement_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30", "weight": 1.0}, {"source": "pl_freight_generate_settlement_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_list_unsettled_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "unsettledplanlistresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L49", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_list_settlements", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "freightsettlementlistresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L75", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_get_settlement_by_transport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105", "weight": 1.0}, {"source": "pl_freight_get_settlement_by_transport", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105", "weight": 1.0}, {"source": "pl_freight_get_settlement_by_transport", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105", "weight": 1.0}, {"source": "pl_freight_get_settlement_by_transport", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105", "weight": 1.0}, {"source": "pl_freight_get_settlement_by_transport", "target": "freightsettlementbytransportread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L105", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_create_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_freight_create_settlement", "target": "freightsettlementcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_freight_create_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_freight_create_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_freight_create_settlement", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L120", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_get_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139", "weight": 1.0}, {"source": "pl_freight_get_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139", "weight": 1.0}, {"source": "pl_freight_get_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139", "weight": 1.0}, {"source": "pl_freight_get_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139", "weight": 1.0}, {"source": "pl_freight_get_settlement", "target": "freightsettlementwithtransports", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L139", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_update_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_freight_update_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_freight_update_settlement", "target": "freightsettlementupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_freight_update_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_freight_update_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_freight_update_settlement", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L152", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_cancel_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170", "weight": 1.0}, {"source": "pl_freight_cancel_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170", "weight": 1.0}, {"source": "pl_freight_cancel_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170", "weight": 1.0}, {"source": "pl_freight_cancel_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170", "weight": 1.0}, {"source": "pl_freight_cancel_settlement", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L170", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_delete_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L182", "weight": 1.0}, {"source": "pl_freight_delete_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L182", "weight": 1.0}, {"source": "pl_freight_delete_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L182", "weight": 1.0}, {"source": "pl_freight_delete_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L182", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_submit_settlement_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "pl_freight_submit_settlement_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "pl_freight_submit_settlement_approval", "target": "freightsettlementsubmitapprovalbody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "pl_freight_submit_settlement_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "pl_freight_submit_settlement_approval", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "pl_freight_submit_settlement_approval", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L194", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_process_settlement_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "pl_freight_process_settlement_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "pl_freight_process_settlement_approval", "target": "freightsettlementapprovalactionbody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "pl_freight_process_settlement_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "pl_freight_process_settlement_approval", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "pl_freight_process_settlement_approval", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L213", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_withdraw_settlement_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233", "weight": 1.0}, {"source": "pl_freight_withdraw_settlement_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233", "weight": 1.0}, {"source": "pl_freight_withdraw_settlement_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233", "weight": 1.0}, {"source": "pl_freight_withdraw_settlement_approval", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233", "weight": 1.0}, {"source": "pl_freight_withdraw_settlement_approval", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L233", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_get_settlement_approval_flow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L245", "weight": 1.0}, {"source": "pl_freight_get_settlement_approval_flow", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L245", "weight": 1.0}, {"source": "pl_freight_get_settlement_approval_flow", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L245", "weight": 1.0}, {"source": "pl_freight_get_settlement_approval_flow", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L245", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_disburse_settlement", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "pl_freight_disburse_settlement", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "pl_freight_disburse_settlement", "target": "freightsettlementdisbursebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "pl_freight_disburse_settlement", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "pl_freight_disburse_settlement", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "pl_freight_disburse_settlement", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L256", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_submit_settlement_legacy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276", "weight": 1.0}, {"source": "pl_freight_submit_settlement_legacy", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276", "weight": 1.0}, {"source": "pl_freight_submit_settlement_legacy", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276", "weight": 1.0}, {"source": "pl_freight_submit_settlement_legacy", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276", "weight": 1.0}, {"source": "pl_freight_submit_settlement_legacy", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L276", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_approve_settlement_legacy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285", "weight": 1.0}, {"source": "pl_freight_approve_settlement_legacy", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285", "weight": 1.0}, {"source": "pl_freight_approve_settlement_legacy", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285", "weight": 1.0}, {"source": "pl_freight_approve_settlement_legacy", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285", "weight": 1.0}, {"source": "pl_freight_approve_settlement_legacy", "target": "freightsettlementread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L285", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_freight_py", "target": "pl_freight_list_vouchers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294", "weight": 1.0}, {"source": "pl_freight_list_vouchers", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294", "weight": 1.0}, {"source": "pl_freight_list_vouchers", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294", "weight": 1.0}, {"source": "pl_freight_list_vouchers", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294", "weight": 1.0}, {"source": "pl_freight_list_vouchers", "target": "remittancevoucherread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L294", "weight": 1.0}, {"source": "pl_freight_list_unsettled_plans", "target": "unsettledplanlistresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L71", "weight": 1.0}, {"source": "pl_freight_list_settlements", "target": "freightsettlementlistresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L101", "weight": 1.0}, {"source": "pl_freight_create_settlement", "target": "pl_freight_generate_settlement_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L133", "weight": 1.0}], "raw_calls": [{"caller_nid": "pl_freight_generate_settlement_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L31"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L32"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L35"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L35"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L35"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L37"}, {"caller_nid": "pl_freight_generate_settlement_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L40"}, {"caller_nid": "pl_freight_list_unsettled_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L59"}, {"caller_nid": "pl_freight_list_unsettled_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L59"}, {"caller_nid": "pl_freight_list_settlements", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L88"}, {"caller_nid": "pl_freight_list_settlements", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L88"}, {"caller_nid": "pl_freight_list_settlements", "callee": "list_settlements_enriched", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L89"}, {"caller_nid": "pl_freight_get_settlement_by_transport", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L110"}, {"caller_nid": "pl_freight_get_settlement_by_transport", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L110"}, {"caller_nid": "pl_freight_get_settlement_by_transport", "callee": "get_settlement_by_transport_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L111"}, {"caller_nid": "pl_freight_get_settlement_by_transport", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L116"}, {"caller_nid": "pl_freight_create_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L125"}, {"caller_nid": "pl_freight_create_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L125"}, {"caller_nid": "pl_freight_get_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L144"}, {"caller_nid": "pl_freight_get_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L144"}, {"caller_nid": "pl_freight_get_settlement", "callee": "get_settlement_detail", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L145"}, {"caller_nid": "pl_freight_get_settlement", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L148"}, {"caller_nid": "pl_freight_update_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L158"}, {"caller_nid": "pl_freight_update_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L158"}, {"caller_nid": "pl_freight_update_settlement", "callee": "update_settlement_draft", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L159"}, {"caller_nid": "pl_freight_cancel_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L175"}, {"caller_nid": "pl_freight_cancel_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L175"}, {"caller_nid": "pl_freight_cancel_settlement", "callee": "cancel_draft_settlement", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L176"}, {"caller_nid": "pl_freight_delete_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L187"}, {"caller_nid": "pl_freight_delete_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L187"}, {"caller_nid": "pl_freight_delete_settlement", "callee": "delete_draft_settlement", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L188"}, {"caller_nid": "pl_freight_submit_settlement_approval", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L200"}, {"caller_nid": "pl_freight_submit_settlement_approval", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L200"}, {"caller_nid": "pl_freight_process_settlement_approval", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L219"}, {"caller_nid": "pl_freight_process_settlement_approval", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L219"}, {"caller_nid": "pl_freight_process_settlement_approval", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L221"}, {"caller_nid": "pl_freight_withdraw_settlement_approval", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L238"}, {"caller_nid": "pl_freight_withdraw_settlement_approval", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L238"}, {"caller_nid": "pl_freight_get_settlement_approval_flow", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L250"}, {"caller_nid": "pl_freight_get_settlement_approval_flow", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L250"}, {"caller_nid": "pl_freight_get_settlement_approval_flow", "callee": "get_settlement_row", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L251"}, {"caller_nid": "pl_freight_get_settlement_approval_flow", "callee": "get_approval_flow", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L252"}, {"caller_nid": "pl_freight_disburse_settlement", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L262"}, {"caller_nid": "pl_freight_disburse_settlement", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L262"}, {"caller_nid": "pl_freight_submit_settlement_legacy", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L281"}, {"caller_nid": "pl_freight_approve_settlement_legacy", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L290"}, {"caller_nid": "pl_freight_list_vouchers", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L299"}, {"caller_nid": "pl_freight_list_vouchers", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L299"}, {"caller_nid": "pl_freight_list_vouchers", "callee": "get_settlement_row", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L300"}, {"caller_nid": "pl_freight_list_vouchers", "callee": "get_settlement_detail", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L301"}, {"caller_nid": "pl_freight_list_vouchers", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py", "source_location": "L304"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1.json b/backend/graphify-out/cache/ast/3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1.json
new file mode 100644
index 000000000..123085991
--- /dev/null
+++ b/backend/graphify-out/cache/ast/3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "label": "advance.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L1"}, {"id": "bx_advance_tenant", "label": "_tenant()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29"}, {"id": "bx_advance_fill_offset_amounts", "label": "_fill_offset_amounts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33"}, {"id": "advanceapplyout", "label": "AdvanceApplyOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33"}, {"id": "bx_advance_list_advances", "label": "list_advances()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42"}, {"id": "bx_advance_my_advances", "label": "my_advances()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81"}, {"id": "bx_advance_my_advance_stats", "label": "my_advance_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L122"}, {"id": "bx_advance_advance_status_counts", "label": "advance_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L132"}, {"id": "bx_advance_pending_approval", "label": "pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141"}, {"id": "bx_advance_advance_pending_approval_stats", "label": "advance_pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L171"}, {"id": "bx_advance_approved_by_me", "label": "approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181"}, {"id": "bx_advance_get_advance", "label": "get_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L211"}, {"id": "bx_advance_get_approvals", "label": "get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L227"}, {"id": "bx_advance_get_approval_history", "label": "get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L240"}, {"id": "bx_advance_create_advance", "label": "create_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253"}, {"id": "advanceapplycreate", "label": "AdvanceApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253"}, {"id": "bx_advance_update_advance", "label": "update_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286"}, {"id": "advanceapplyupdate", "label": "AdvanceApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286"}, {"id": "bx_advance_submit_advance", "label": "submit_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L307"}, {"id": "bx_advance_approve_advance", "label": "approve_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321"}, {"id": "advanceapprovalcreate", "label": "AdvanceApprovalCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321"}, {"id": "bx_advance_reject_advance", "label": "reject_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336"}, {"id": "bx_advance_delete_advance", "label": "delete_advance()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L351"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_schemas_bx_advance", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_services_bx_advance", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_services_bx_expense_item", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_advance_tenant", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_advance_tenant", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_advance_tenant", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_fill_offset_amounts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_advance_fill_offset_amounts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_advance_fill_offset_amounts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_advance_fill_offset_amounts", "target": "advanceapplyout", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_list_advances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L42", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_my_advances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L81", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_my_advance_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L122", "weight": 1.0}, {"source": "bx_advance_my_advance_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L122", "weight": 1.0}, {"source": "bx_advance_my_advance_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L122", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_advance_status_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_advance_advance_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L132", "weight": 1.0}, {"source": "bx_advance_advance_status_counts", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_pending_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L141", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_advance_pending_approval_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L171", "weight": 1.0}, {"source": "bx_advance_advance_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L171", "weight": 1.0}, {"source": "bx_advance_advance_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L171", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_approved_by_me", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L181", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_get_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L211", "weight": 1.0}, {"source": "bx_advance_get_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L211", "weight": 1.0}, {"source": "bx_advance_get_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L211", "weight": 1.0}, {"source": "bx_advance_get_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L211", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_get_approvals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L227", "weight": 1.0}, {"source": "bx_advance_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L227", "weight": 1.0}, {"source": "bx_advance_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L227", "weight": 1.0}, {"source": "bx_advance_get_approvals", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L227", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_get_approval_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L240", "weight": 1.0}, {"source": "bx_advance_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L240", "weight": 1.0}, {"source": "bx_advance_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L240", "weight": 1.0}, {"source": "bx_advance_get_approval_history", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L240", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_create_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_advance_create_advance", "target": "advanceapplycreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_advance_create_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_advance_create_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L253", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_update_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286", "weight": 1.0}, {"source": "bx_advance_update_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286", "weight": 1.0}, {"source": "bx_advance_update_advance", "target": "advanceapplyupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286", "weight": 1.0}, {"source": "bx_advance_update_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286", "weight": 1.0}, {"source": "bx_advance_update_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L286", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_submit_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L307", "weight": 1.0}, {"source": "bx_advance_submit_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L307", "weight": 1.0}, {"source": "bx_advance_submit_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L307", "weight": 1.0}, {"source": "bx_advance_submit_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L307", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_approve_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321", "weight": 1.0}, {"source": "bx_advance_approve_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321", "weight": 1.0}, {"source": "bx_advance_approve_advance", "target": "advanceapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321", "weight": 1.0}, {"source": "bx_advance_approve_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321", "weight": 1.0}, {"source": "bx_advance_approve_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L321", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_reject_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336", "weight": 1.0}, {"source": "bx_advance_reject_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336", "weight": 1.0}, {"source": "bx_advance_reject_advance", "target": "advanceapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336", "weight": 1.0}, {"source": "bx_advance_reject_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336", "weight": 1.0}, {"source": "bx_advance_reject_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L336", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_advance_py", "target": "bx_advance_delete_advance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L351", "weight": 1.0}, {"source": "bx_advance_delete_advance", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L351", "weight": 1.0}, {"source": "bx_advance_delete_advance", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L351", "weight": 1.0}, {"source": "bx_advance_delete_advance", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L351", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_advance_list_advances", "target": "bx_advance_fill_offset_amounts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L92", "weight": 1.0}, {"source": "bx_advance_my_advances", "target": "bx_advance_fill_offset_amounts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L117", "weight": 1.0}, {"source": "bx_advance_my_advance_stats", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L126", "weight": 1.0}, {"source": "bx_advance_advance_status_counts", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L136", "weight": 1.0}, {"source": "bx_advance_pending_approval", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_advance_advance_pending_approval_stats", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L175", "weight": 1.0}, {"source": "bx_advance_approved_by_me", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L192", "weight": 1.0}, {"source": "bx_advance_get_advance", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L216", "weight": 1.0}, {"source": "bx_advance_get_approvals", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_get_approval_history", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L245", "weight": 1.0}, {"source": "bx_advance_create_advance", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L258", "weight": 1.0}, {"source": "bx_advance_update_advance", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L292", "weight": 1.0}, {"source": "bx_advance_delete_advance", "target": "bx_advance_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L356", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_advance_tenant", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L30"}, {"caller_nid": "bx_advance_tenant", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L30"}, {"caller_nid": "bx_advance_fill_offset_amounts", "callee": "offset_amount_map", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L36"}, {"caller_nid": "bx_advance_fill_offset_amounts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L38"}, {"caller_nid": "bx_advance_list_advances", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L57"}, {"caller_nid": "bx_advance_list_advances", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L59"}, {"caller_nid": "bx_advance_list_advances", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L60"}, {"caller_nid": "bx_advance_list_advances", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L61"}, {"caller_nid": "bx_advance_list_advances", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L62"}, {"caller_nid": "bx_advance_list_advances", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L66"}, {"caller_nid": "bx_advance_list_advances", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L66"}, {"caller_nid": "bx_advance_list_advances", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L67"}, {"caller_nid": "bx_advance_list_advances", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L74"}, {"caller_nid": "bx_advance_list_advances", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L75"}, {"caller_nid": "bx_advance_list_advances", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L77"}, {"caller_nid": "bx_advance_list_advances", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L77"}, {"caller_nid": "bx_advance_my_advances", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L94"}, {"caller_nid": "bx_advance_my_advances", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L100"}, {"caller_nid": "bx_advance_my_advances", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L102"}, {"caller_nid": "bx_advance_my_advances", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L103"}, {"caller_nid": "bx_advance_my_advances", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L104"}, {"caller_nid": "bx_advance_my_advances", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L105"}, {"caller_nid": "bx_advance_my_advances", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L108"}, {"caller_nid": "bx_advance_my_advances", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L115"}, {"caller_nid": "bx_advance_my_advances", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L116"}, {"caller_nid": "bx_advance_my_advances", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L118"}, {"caller_nid": "bx_advance_my_advances", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L118"}, {"caller_nid": "bx_advance_my_advance_stats", "callee": "my_apply_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L127"}, {"caller_nid": "bx_advance_my_advance_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L128"}, {"caller_nid": "bx_advance_my_advance_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L128"}, {"caller_nid": "bx_advance_advance_status_counts", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L137"}, {"caller_nid": "bx_advance_advance_status_counts", "callee": "global_status_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L137"}, {"caller_nid": "bx_advance_pending_approval", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_pending_approval", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L166"}, {"caller_nid": "bx_advance_pending_approval", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L167"}, {"caller_nid": "bx_advance_pending_approval", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L167"}, {"caller_nid": "bx_advance_advance_pending_approval_stats", "callee": "pending_approval_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L176"}, {"caller_nid": "bx_advance_advance_pending_approval_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L177"}, {"caller_nid": "bx_advance_advance_pending_approval_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L177"}, {"caller_nid": "bx_advance_approved_by_me", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L193"}, {"caller_nid": "bx_advance_approved_by_me", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L206"}, {"caller_nid": "bx_advance_approved_by_me", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L207"}, {"caller_nid": "bx_advance_approved_by_me", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L207"}, {"caller_nid": "bx_advance_get_advance", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L217"}, {"caller_nid": "bx_advance_get_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L219"}, {"caller_nid": "bx_advance_get_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L220"}, {"caller_nid": "bx_advance_get_advance", "callee": "offset_amount_map", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L221"}, {"caller_nid": "bx_advance_get_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L222"}, {"caller_nid": "bx_advance_get_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L223"}, {"caller_nid": "bx_advance_get_approvals", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L233"}, {"caller_nid": "bx_advance_get_approvals", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L234"}, {"caller_nid": "bx_advance_get_approvals", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L236"}, {"caller_nid": "bx_advance_get_approvals", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L236"}, {"caller_nid": "bx_advance_get_approval_history", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L246"}, {"caller_nid": "bx_advance_get_approval_history", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L247"}, {"caller_nid": "bx_advance_get_approval_history", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L249"}, {"caller_nid": "bx_advance_get_approval_history", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L249"}, {"caller_nid": "bx_advance_create_advance", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L259"}, {"caller_nid": "bx_advance_create_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L260"}, {"caller_nid": "bx_advance_create_advance", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L262"}, {"caller_nid": "bx_advance_create_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L263"}, {"caller_nid": "bx_advance_create_advance", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L266"}, {"caller_nid": "bx_advance_create_advance", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L269"}, {"caller_nid": "bx_advance_create_advance", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L269"}, {"caller_nid": "bx_advance_create_advance", "callee": "create", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L279"}, {"caller_nid": "bx_advance_create_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L280"}, {"caller_nid": "bx_advance_create_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L281"}, {"caller_nid": "bx_advance_create_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L282"}, {"caller_nid": "bx_advance_create_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L282"}, {"caller_nid": "bx_advance_update_advance", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L293"}, {"caller_nid": "bx_advance_update_advance", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L294"}, {"caller_nid": "bx_advance_update_advance", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L296"}, {"caller_nid": "bx_advance_update_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L297"}, {"caller_nid": "bx_advance_update_advance", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L298"}, {"caller_nid": "bx_advance_update_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L300"}, {"caller_nid": "bx_advance_update_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L301"}, {"caller_nid": "bx_advance_update_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L302"}, {"caller_nid": "bx_advance_update_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L303"}, {"caller_nid": "bx_advance_update_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L303"}, {"caller_nid": "bx_advance_submit_advance", "callee": "submit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L312"}, {"caller_nid": "bx_advance_submit_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L314"}, {"caller_nid": "bx_advance_submit_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L315"}, {"caller_nid": "bx_advance_submit_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L316"}, {"caller_nid": "bx_advance_submit_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L317"}, {"caller_nid": "bx_advance_submit_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L317"}, {"caller_nid": "bx_advance_approve_advance", "callee": "approve", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L327"}, {"caller_nid": "bx_advance_approve_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L329"}, {"caller_nid": "bx_advance_approve_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L330"}, {"caller_nid": "bx_advance_approve_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L331"}, {"caller_nid": "bx_advance_approve_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L332"}, {"caller_nid": "bx_advance_approve_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L332"}, {"caller_nid": "bx_advance_reject_advance", "callee": "reject", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L342"}, {"caller_nid": "bx_advance_reject_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L344"}, {"caller_nid": "bx_advance_reject_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L345"}, {"caller_nid": "bx_advance_reject_advance", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L346"}, {"caller_nid": "bx_advance_reject_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L347"}, {"caller_nid": "bx_advance_reject_advance", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L347"}, {"caller_nid": "bx_advance_delete_advance", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L357"}, {"caller_nid": "bx_advance_delete_advance", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L358"}, {"caller_nid": "bx_advance_delete_advance", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L359"}, {"caller_nid": "bx_advance_delete_advance", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L360"}, {"caller_nid": "bx_advance_delete_advance", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py", "source_location": "L361"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1.json b/backend/graphify-out/cache/ast/4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1.json
new file mode 100644
index 000000000..b2247d761
--- /dev/null
+++ b/backend/graphify-out/cache/ast/4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "label": "advance.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L1"}, {"id": "bx_advance_advanceservice", "label": "AdvanceService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L26"}, {"id": "bx_advance_advanceservice_tenant_no", "label": "._tenant_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28"}, {"id": "bx_advance_advanceservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32"}, {"id": "bxadvanceapply", "label": "BxAdvanceApply", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32"}, {"id": "bx_advance_advanceservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45"}, {"id": "bx_advance_advanceservice_create", "label": ".create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L59"}, {"id": "bx_advance_advanceservice_update", "label": ".update()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76"}, {"id": "bx_advance_advanceservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95"}, {"id": "bx_advance_advanceservice_pending_approval", "label": ".pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102"}, {"id": "bx_advance_advanceservice_approved_by_me", "label": ".approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163"}, {"id": "bx_advance_advanceservice_workflow_nodes", "label": "._workflow_nodes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219"}, {"id": "bxworkflownode", "label": "BxWorkflowNode", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219"}, {"id": "bx_advance_advanceservice_submit", "label": ".submit()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232"}, {"id": "bx_advance_advanceservice_approve", "label": ".approve()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249"}, {"id": "bx_advance_advanceservice_reject", "label": ".reject()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294"}, {"id": "bx_advance_advanceservice_approval_record_dict", "label": "._approval_record_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331"}, {"id": "bxadvanceapproval", "label": "BxAdvanceApproval", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331"}, {"id": "bx_advance_advanceservice_latest_approval_per_node", "label": "._latest_approval_per_node()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L344"}, {"id": "bx_advance_advanceservice_query_approvals", "label": "._query_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361"}, {"id": "bx_advance_advanceservice_get_approvals", "label": ".get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373"}, {"id": "bx_advance_advanceservice_get_approval_history", "label": ".get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409"}, {"id": "bx_advance_advanceservice_global_status_counts", "label": ".global_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428"}, {"id": "bx_advance_advanceservice_my_apply_base", "label": "._my_apply_base()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L437"}, {"id": "bx_advance_advanceservice_my_apply_stats", "label": ".my_apply_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L449"}, {"id": "bx_advance_advanceservice_pending_approval_stats", "label": ".pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L529"}, {"id": "bx_advance_advanceservice_offset_amount_map", "label": ".offset_amount_map()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560"}, {"id": "bx_advance_advanceservice_issue", "label": ".issue()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579"}, {"id": "bx_advance_advanceservice_finance_issue_stats", "label": ".finance_issue_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L604"}, {"id": "bx_advance_rationale_347", "label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L347"}, {"id": "bx_advance_rationale_412", "label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L412"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_services_bx_approval_cycle", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_services_bx_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_services_bx_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_advance_py", "target": "bx_advance_advanceservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L26", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_tenant_no", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28", "weight": 1.0}, {"source": "bx_advance_advanceservice_tenant_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28", "weight": 1.0}, {"source": "bx_advance_advanceservice_tenant_no", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28", "weight": 1.0}, {"source": "bx_advance_advanceservice_tenant_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L28", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_by_id", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L32", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_paged", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_advance_advanceservice_create", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_advance_advanceservice_create", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_advance_advanceservice_create", "target": "bxadvanceapply", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_advanceservice_update", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_advanceservice_update", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_advanceservice_update", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_advanceservice_update", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_advance_advanceservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_advance_advanceservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_advance_advanceservice_soft_delete", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_advance_advanceservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L95", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_pending_approval", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L102", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_approved_by_me", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L163", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_workflow_nodes", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_advance_advanceservice_workflow_nodes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_advance_advanceservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_advance_advanceservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_advance_advanceservice_workflow_nodes", "target": "bxworkflownode", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_submit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L232", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_approve", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L249", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_reject", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L294", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_approval_record_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_advance_advanceservice_approval_record_dict", "target": "bxadvanceapproval", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_advance_advanceservice_approval_record_dict", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_advance_advanceservice_approval_record_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_advance_advanceservice_approval_record_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_latest_approval_per_node", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L344", "weight": 1.0}, {"source": "bx_advance_advanceservice_latest_approval_per_node", "target": "bxadvanceapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L344", "weight": 1.0}, {"source": "bx_advance_advanceservice_latest_approval_per_node", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L344", "weight": 1.0}, {"source": "bx_advance_advanceservice_latest_approval_per_node", "target": "bxadvanceapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L344", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_query_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_advance_advanceservice_query_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_advance_advanceservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_advance_advanceservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_advance_advanceservice_query_approvals", "target": "bxadvanceapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_get_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_get_approval_history", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L409", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_global_status_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice_global_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice_global_status_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice_global_status_counts", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice_global_status_counts", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice_global_status_counts", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L428", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_my_apply_base", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L437", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_base", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L437", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_base", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L437", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_base", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L437", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_my_apply_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L449", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L449", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L449", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L449", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_pending_approval_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L529", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L529", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L529", "weight": 1.0}, {"source": "bx_advance_advanceservice_pending_approval_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L529", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_offset_amount_map", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice_offset_amount_map", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice_offset_amount_map", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice_offset_amount_map", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice_offset_amount_map", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice_offset_amount_map", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L560", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_issue", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "bxadvanceapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L579", "weight": 1.0}, {"source": "bx_advance_advanceservice", "target": "bx_advance_advanceservice_finance_issue_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L604", "weight": 1.0}, {"source": "bx_advance_advanceservice_finance_issue_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L604", "weight": 1.0}, {"source": "bx_advance_advanceservice_finance_issue_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L604", "weight": 1.0}, {"source": "bx_advance_advanceservice_finance_issue_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L604", "weight": 1.0}, {"source": "bx_advance_advanceservice_create", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L65", "weight": 1.0}, {"source": "bx_advance_advanceservice_update", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L83", "weight": 1.0}, {"source": "bx_advance_advanceservice_soft_delete", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L96", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L233", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L234", "weight": 1.0}, {"source": "bx_advance_advanceservice_submit", "target": "bx_advance_advanceservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L242", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L252", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bx_advance_advanceservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L256", "weight": 1.0}, {"source": "bx_advance_advanceservice_approve", "target": "bxadvanceapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L269", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L297", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L298", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bx_advance_advanceservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L301", "weight": 1.0}, {"source": "bx_advance_advanceservice_reject", "target": "bxadvanceapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L309", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L376", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bx_advance_advanceservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L382", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bx_advance_advanceservice_query_approvals", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L385", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bx_advance_advanceservice_latest_approval_per_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L387", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approvals", "target": "bx_advance_advanceservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L392", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L413", "weight": 1.0}, {"source": "bx_advance_advanceservice_get_approval_history", "target": "bx_advance_advanceservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L425", "weight": 1.0}, {"source": "bx_advance_advanceservice_my_apply_stats", "target": "bx_advance_advanceservice_my_apply_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L450", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "bx_advance_advanceservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L586", "weight": 1.0}, {"source": "bx_advance_advanceservice_issue", "target": "bx_advance_advanceservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L587", "weight": 1.0}, {"source": "bx_advance_rationale_347", "target": "bx_advance_advanceservice_latest_approval_per_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L347", "weight": 1.0}, {"source": "bx_advance_rationale_412", "target": "bx_advance_advanceservice_get_approval_history", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L412", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_advance_advanceservice_tenant_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L29"}, {"caller_nid": "bx_advance_advanceservice_tenant_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L29"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L115"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L115"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L118"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L134"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L135"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L136"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "resolve_create_time_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L141"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L150"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L151"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L151"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L151"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L151"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L153"}, {"caller_nid": "bx_advance_advanceservice_pending_approval", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L155"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L176"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L176"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L176"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L186"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L186"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L192"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L193"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L194"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "resolve_create_time_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L199"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L208"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L209"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L211"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L211"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L211"}, {"caller_nid": "bx_advance_advanceservice_approved_by_me", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L211"}, {"caller_nid": "bx_advance_advanceservice_workflow_nodes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L221"}, {"caller_nid": "bx_advance_advanceservice_workflow_nodes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L221"}, {"caller_nid": "bx_advance_advanceservice_submit", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L239"}, {"caller_nid": "bx_advance_advanceservice_submit", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L245"}, {"caller_nid": "bx_advance_advanceservice_approve", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L270"}, {"caller_nid": "bx_advance_advanceservice_approve", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L278"}, {"caller_nid": "bx_advance_advanceservice_approve", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L283"}, {"caller_nid": "bx_advance_advanceservice_approve", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L290"}, {"caller_nid": "bx_advance_advanceservice_reject", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L310"}, {"caller_nid": "bx_advance_advanceservice_reject", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L318"}, {"caller_nid": "bx_advance_advanceservice_reject", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L323"}, {"caller_nid": "bx_advance_advanceservice_reject", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L327"}, {"caller_nid": "bx_advance_advanceservice_latest_approval_per_node", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L350"}, {"caller_nid": "bx_advance_advanceservice_query_approvals", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L363"}, {"caller_nid": "bx_advance_advanceservice_get_approvals", "callee": "filter_current_cycle_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L386"}, {"caller_nid": "bx_advance_advanceservice_get_approvals", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L390"}, {"caller_nid": "bx_advance_advanceservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L392"}, {"caller_nid": "bx_advance_advanceservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L394"}, {"caller_nid": "bx_advance_advanceservice_get_approval_history", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L416"}, {"caller_nid": "bx_advance_advanceservice_get_approval_history", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L416"}, {"caller_nid": "bx_advance_advanceservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L422"}, {"caller_nid": "bx_advance_advanceservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L422"}, {"caller_nid": "bx_advance_advanceservice_global_status_counts", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L429"}, {"caller_nid": "bx_advance_advanceservice_global_status_counts", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L429"}, {"caller_nid": "bx_advance_advanceservice_global_status_counts", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L432"}, {"caller_nid": "bx_advance_advanceservice_global_status_counts", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L433"}, {"caller_nid": "bx_advance_advanceservice_my_apply_base", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L438"}, {"caller_nid": "bx_advance_advanceservice_my_apply_base", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L441"}, {"caller_nid": "bx_advance_advanceservice_my_apply_base", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L446"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L450"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L451"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L451"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L453"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L453"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L453"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L453"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L456"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L456"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L456"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L456"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L463"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L463"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L463"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L463"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L470"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L470"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L470"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L470"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L478"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L478"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L478"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L478"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L485"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L485"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L485"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L490"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L492"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L492"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L492"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L498"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L498"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L498"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L498"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L505"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L505"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L505"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L505"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L508"}, {"caller_nid": "bx_advance_advanceservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L508"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L530"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L531"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L531"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L534"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L548"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L548"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L548"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L548"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L549"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L551"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L551"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L551"}, {"caller_nid": "bx_advance_advanceservice_pending_approval_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L551"}, {"caller_nid": "bx_advance_advanceservice_offset_amount_map", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L564"}, {"caller_nid": "bx_advance_advanceservice_offset_amount_map", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L564"}, {"caller_nid": "bx_advance_advanceservice_offset_amount_map", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L566"}, {"caller_nid": "bx_advance_advanceservice_offset_amount_map", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L569"}, {"caller_nid": "bx_advance_advanceservice_issue", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L593"}, {"caller_nid": "bx_advance_advanceservice_issue", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L600"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L606"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L609"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L609"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L610"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L610"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L611"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L613"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L613"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L615"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L615"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L615"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L615"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L617"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L617"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L617"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L617"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L624"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L624"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L624"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L629"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L630"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L632"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L632"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L632"}, {"caller_nid": "bx_advance_advanceservice_finance_issue_stats", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py", "source_location": "L636"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7.json b/backend/graphify-out/cache/ast/88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7.json
new file mode 100644
index 000000000..e23610dcb
--- /dev/null
+++ b/backend/graphify-out/cache/ast/88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_menu_badge_py", "label": "menu_badge.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L1"}, {"id": "pl_menu_badge_plmenubadgestatsread", "label": "PlMenuBadgeStatsRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_menu_badge_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_menu_badge_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_menu_badge_py", "target": "pl_menu_badge_plmenubadgestatsread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L6", "weight": 1.0}, {"source": "pl_menu_badge_plmenubadgestatsread", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py", "source_location": "L6", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/8ea3560a47775c0317f5e3d0eb01563f241ca728a09961a55e87209365a7897e.json b/backend/graphify-out/cache/ast/8ea3560a47775c0317f5e3d0eb01563f241ca728a09961a55e87209365a7897e.json
new file mode 100644
index 000000000..643dc7498
--- /dev/null
+++ b/backend/graphify-out/cache/ast/8ea3560a47775c0317f5e3d0eb01563f241ca728a09961a55e87209365a7897e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_init_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_init_py", "target": "app_api_pl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_init_py", "target": "app_api_pl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py", "source_location": "L5", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4.json b/backend/graphify-out/cache/ast/a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4.json
new file mode 100644
index 000000000..93d8a17b3
--- /dev/null
+++ b/backend/graphify-out/cache/ast/a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "label": "pl_vehicle_recharge_service.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L1"}, {"id": "services_pl_vehicle_recharge_service_generate_seq_no", "label": "_generate_seq_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31"}, {"id": "services_pl_vehicle_recharge_service_generate_apply_no", "label": "generate_apply_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L45"}, {"id": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "label": "generate_recharge_order_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L55"}, {"id": "services_pl_vehicle_recharge_service_resolve_user_name", "label": "_resolve_user_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L64"}, {"id": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "label": "_assert_vehicle_exists()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L75"}, {"id": "services_pl_vehicle_recharge_service_resolve_applicant_id", "label": "_resolve_applicant_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89"}, {"id": "services_pl_vehicle_recharge_service_get_apply_row", "label": "_get_apply_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111"}, {"id": "plvehiclerechargeapply", "label": "PlVehicleRechargeApply", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111"}, {"id": "services_pl_vehicle_recharge_service_get_record_row", "label": "_get_record_row()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129"}, {"id": "plvehiclerechargerecord", "label": "PlVehicleRechargeRecord", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129"}, {"id": "services_pl_vehicle_recharge_service_has_active_record", "label": "_has_active_record()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147"}, {"id": "services_pl_vehicle_recharge_service_apply_to_read", "label": "apply_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160"}, {"id": "vehiclerechargeapplyread", "label": "VehicleRechargeApplyRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160"}, {"id": "services_pl_vehicle_recharge_service_record_to_read", "label": "record_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178"}, {"id": "vehiclerechargerecordread", "label": "VehicleRechargeRecordRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178"}, {"id": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "label": "_resolve_apply_for_record()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211"}, {"id": "vehiclerechargerecordcreate", "label": "VehicleRechargeRecordCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211"}, {"id": "vehiclerechargerecordupdate", "label": "VehicleRechargeRecordUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211"}, {"id": "services_pl_vehicle_recharge_service_list_applies", "label": "list_applies()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247"}, {"id": "services_pl_vehicle_recharge_service_get_apply", "label": "get_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294"}, {"id": "services_pl_vehicle_recharge_service_create_apply", "label": "create_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301"}, {"id": "vehiclerechargeapplycreate", "label": "VehicleRechargeApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301"}, {"id": "services_pl_vehicle_recharge_service_update_apply", "label": "update_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336"}, {"id": "vehiclerechargeapplyupdate", "label": "VehicleRechargeApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336"}, {"id": "services_pl_vehicle_recharge_service_cancel_apply", "label": "cancel_apply()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362"}, {"id": "services_pl_vehicle_recharge_service_delete_applies", "label": "delete_applies()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376"}, {"id": "services_pl_vehicle_recharge_service_list_pending_apply_options", "label": "list_pending_apply_options()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L391"}, {"id": "services_pl_vehicle_recharge_service_list_records", "label": "list_records()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412"}, {"id": "services_pl_vehicle_recharge_service_board_item_to_read", "label": "board_item_to_read()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465"}, {"id": "vehiclerechargedisburseboarditem", "label": "VehicleRechargeDisburseBoardItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465"}, {"id": "services_pl_vehicle_recharge_service_list_disburse_board", "label": "list_disburse_board()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491"}, {"id": "services_pl_vehicle_recharge_service_get_record", "label": "get_record()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554"}, {"id": "services_pl_vehicle_recharge_service_create_record", "label": "create_record()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561"}, {"id": "services_pl_vehicle_recharge_service_update_record", "label": "update_record()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601"}, {"id": "services_pl_vehicle_recharge_service_delete_records", "label": "delete_records()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_schemas_pl_vehicle_recharge", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "app_services_pl_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L28", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_generate_seq_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_seq_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_seq_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_seq_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_seq_no", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_seq_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_generate_apply_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L45", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_apply_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L45", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_apply_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L45", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L55", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L55", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L55", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_resolve_user_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L64", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_user_name", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L64", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_user_name", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L64", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_user_name", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L64", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L75", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L75", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L75", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L75", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_resolve_applicant_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_applicant_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_applicant_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_applicant_id", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_applicant_id", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_applicant_id", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L89", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply_row", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply_row", "target": "plvehiclerechargeapply", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L111", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_get_record_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record_row", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record_row", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record_row", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record_row", "target": "plvehiclerechargerecord", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L129", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_has_active_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_has_active_record", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_has_active_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_has_active_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_has_active_record", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L147", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_apply_to_read", "target": "plvehiclerechargeapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_apply_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_apply_to_read", "target": "vehiclerechargeapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L160", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_record_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "plvehiclerechargerecord", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "vehiclerechargerecordread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L178", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "vehiclerechargerecordcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "vehiclerechargerecordupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "plvehiclerechargeapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L211", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_list_applies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "vehiclerechargeapplyread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L247", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_get_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "vehiclerechargeapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L294", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_create_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "vehiclerechargeapplycreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "vehiclerechargeapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L301", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_update_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "vehiclerechargeapplyupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "vehiclerechargeapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L336", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_cancel_apply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "vehiclerechargeapplyread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L362", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_delete_applies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L376", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_list_pending_apply_options", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L391", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_pending_apply_options", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L391", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_pending_apply_options", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L391", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_pending_apply_options", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L391", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_list_records", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "vehiclerechargerecordread", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L412", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_board_item_to_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "plvehiclerechargeapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "plvehiclerechargerecord", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "vehiclerechargedisburseboarditem", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L465", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_list_disburse_board", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "vehiclerechargedisburseboarditem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L491", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_get_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "vehiclerechargerecordread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L554", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_create_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "vehiclerechargerecordcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "vehiclerechargerecordread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L561", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_update_record", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "vehiclerechargerecordupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "vehiclerechargerecordread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L601", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_vehicle_recharge_service_py", "target": "services_pl_vehicle_recharge_service_delete_records", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_records", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_records", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_records", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_records", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L652", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_apply_no", "target": "services_pl_vehicle_recharge_service_generate_seq_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L46", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "target": "services_pl_vehicle_recharge_service_generate_seq_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L56", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_apply_to_read", "target": "vehiclerechargeapplyread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L161", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_apply_to_read", "target": "services_pl_vehicle_recharge_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L170", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "vehiclerechargerecordread", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L191", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_record_to_read", "target": "services_pl_vehicle_recharge_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L205", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L223", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "target": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L243", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_applies", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L291", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L297", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_apply", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L298", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L308", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "services_pl_vehicle_recharge_service_resolve_applicant_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L309", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "plvehiclerechargeapply", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L311", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "services_pl_vehicle_recharge_service_generate_apply_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L313", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_apply", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L333", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L343", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L347", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "services_pl_vehicle_recharge_service_resolve_applicant_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L353", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_apply", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L359", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L365", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_cancel_apply", "target": "services_pl_vehicle_recharge_service_apply_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L373", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "services_pl_vehicle_recharge_service_get_apply_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L380", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_applies", "target": "services_pl_vehicle_recharge_service_has_active_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L383", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_records", "target": "services_pl_vehicle_recharge_service_record_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L462", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "vehiclerechargedisburseboarditem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L470", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_board_item_to_read", "target": "services_pl_vehicle_recharge_service_resolve_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L477", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_list_disburse_board", "target": "services_pl_vehicle_recharge_service_board_item_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L551", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "services_pl_vehicle_recharge_service_get_record_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L557", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_get_record", "target": "services_pl_vehicle_recharge_service_record_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L558", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L567", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "plvehiclerechargerecord", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L571", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L573", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_create_record", "target": "services_pl_vehicle_recharge_service_record_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L598", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "services_pl_vehicle_recharge_service_get_record_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L608", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L610", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_update_record", "target": "services_pl_vehicle_recharge_service_record_to_read", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L649", "weight": 1.0}, {"source": "services_pl_vehicle_recharge_service_delete_records", "target": "services_pl_vehicle_recharge_service_get_record_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L657", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_vehicle_recharge_service_generate_seq_no", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L36"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_seq_no", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L36"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_seq_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L36"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_seq_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L37"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_seq_no", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L38"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_apply_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L50"}, {"caller_nid": "services_pl_vehicle_recharge_service_generate_recharge_order_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L60"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_user_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L68"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_user_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L68"}, {"caller_nid": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L77"}, {"caller_nid": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L77"}, {"caller_nid": "services_pl_vehicle_recharge_service_assert_vehicle_exists", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L86"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_applicant_id", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L95"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_applicant_id", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L97"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_applicant_id", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L97"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_applicant_id", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L107"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_apply_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L115"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_apply_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L115"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_apply_row", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L124"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_apply_row", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L125"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_record_row", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L133"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_record_row", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L133"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_record_row", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L142"}, {"caller_nid": "services_pl_vehicle_recharge_service_get_record_row", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L143"}, {"caller_nid": "services_pl_vehicle_recharge_service_has_active_record", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L149"}, {"caller_nid": "services_pl_vehicle_recharge_service_has_active_record", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L149"}, {"caller_nid": "services_pl_vehicle_recharge_service_record_to_read", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L183"}, {"caller_nid": "services_pl_vehicle_recharge_service_record_to_read", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L183"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L219"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L225"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L227"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L227"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L236"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L238"}, {"caller_nid": "services_pl_vehicle_recharge_service_resolve_apply_for_record", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L242"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L261"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L267"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L268"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L269"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L283"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L284"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L286"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L286"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L286"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_applies", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L286"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L307"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L310"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L312"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L330"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L331"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L332"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L345"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_apply", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L346"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L356"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L357"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L358"}, {"caller_nid": "services_pl_vehicle_recharge_service_cancel_apply", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L367"}, {"caller_nid": "services_pl_vehicle_recharge_service_cancel_apply", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L370"}, {"caller_nid": "services_pl_vehicle_recharge_service_cancel_apply", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L371"}, {"caller_nid": "services_pl_vehicle_recharge_service_cancel_apply", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L372"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_applies", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L382"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_applies", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L384"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_applies", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L387"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_applies", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L388"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_pending_apply_options", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L394"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_pending_apply_options", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L399"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_pending_apply_options", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L400"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_pending_apply_options", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L400"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L426"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L432"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L433"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L434"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L434"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L435"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L435"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L446"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L446"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L449"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L452"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L454"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L455"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L457"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L457"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L457"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_records", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L457"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "outerjoin", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L507"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L507"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L510"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L523"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L524"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L525"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L526"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L526"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L527"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L527"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L543"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L544"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L546"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L546"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L546"}, {"caller_nid": "services_pl_vehicle_recharge_service_list_disburse_board", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L546"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L570"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L572"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L576"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L577"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L591"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L596"}, {"caller_nid": "services_pl_vehicle_recharge_service_create_record", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L597"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L613"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L617"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L617"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L632"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L633"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L647"}, {"caller_nid": "services_pl_vehicle_recharge_service_update_record", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L648"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_records", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L655"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_records", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L664"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_records", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L664"}, {"caller_nid": "services_pl_vehicle_recharge_service_delete_records", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py", "source_location": "L676"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c.json b/backend/graphify-out/cache/ast/aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c.json
new file mode 100644
index 000000000..7fe256f2d
--- /dev/null
+++ b/backend/graphify-out/cache/ast/aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "label": "pl_menu_badge_service.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L1"}, {"id": "services_pl_menu_badge_service_count_pending_applies", "label": "_count_pending_applies()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44"}, {"id": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "label": "count_document_reminder_expired_pending()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L54"}, {"id": "services_pl_menu_badge_service_count_freight_approval_pending", "label": "count_freight_approval_pending()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67"}, {"id": "services_pl_menu_badge_service_count_plan_cert_pending", "label": "count_plan_cert_pending()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L86"}, {"id": "services_pl_menu_badge_service_count_plan_archive_pending", "label": "count_plan_archive_pending()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L120"}, {"id": "services_pl_menu_badge_service_count_freight_disburse_pending", "label": "count_freight_disburse_pending()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L131"}, {"id": "services_pl_menu_badge_service_build_menu_badge_counts", "label": "build_menu_badge_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "app_services_pl_cert_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "app_services_pl_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "app_services_pl_freight_settlement_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L20", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "app_services_pl_plan_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_pending_applies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_pending_applies", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_pending_applies", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_pending_applies", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L44", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L54", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L54", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L54", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_freight_approval_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_approval_pending", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_approval_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_approval_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_approval_pending", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_plan_cert_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_cert_pending", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_cert_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_cert_pending", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L86", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_plan_archive_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L120", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_archive_pending", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L120", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_archive_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L120", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_plan_archive_pending", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L120", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_count_freight_disburse_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L131", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_disburse_pending", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L131", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_disburse_pending", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L131", "weight": 1.0}, {"source": "services_pl_menu_badge_service_count_freight_disburse_pending", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L131", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_pl_menu_badge_service_py", "target": "services_pl_menu_badge_service_build_menu_badge_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L141", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L156", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_freight_approval_pending", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L158", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_freight_disburse_pending", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L160", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_pending_applies", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L162", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_plan_cert_pending", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L174", "weight": 1.0}, {"source": "services_pl_menu_badge_service_build_menu_badge_counts", "target": "services_pl_menu_badge_service_count_plan_archive_pending", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L176", "weight": 1.0}], "raw_calls": [{"caller_nid": "services_pl_menu_badge_service_count_pending_applies", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L45"}, {"caller_nid": "services_pl_menu_badge_service_count_pending_applies", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L50"}, {"caller_nid": "services_pl_menu_badge_service_count_pending_applies", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L51"}, {"caller_nid": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "callee": "scan_cert_expiry", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L55"}, {"caller_nid": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L56"}, {"caller_nid": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L57"}, {"caller_nid": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L63"}, {"caller_nid": "services_pl_menu_badge_service_count_document_reminder_expired_pending", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L64"}, {"caller_nid": "services_pl_menu_badge_service_count_freight_approval_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L71"}, {"caller_nid": "services_pl_menu_badge_service_count_freight_approval_pending", "callee": "can_user_approve_settlement", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L81"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L87"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L94"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "defaultdict", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L100"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L102"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L104"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L110"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L114"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_cert_pending", "callee": "plan_has_hazard_products", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L115"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_archive_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L121"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_archive_pending", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L127"}, {"caller_nid": "services_pl_menu_badge_service_count_plan_archive_pending", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L128"}, {"caller_nid": "services_pl_menu_badge_service_count_freight_disburse_pending", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L132"}, {"caller_nid": "services_pl_menu_badge_service_count_freight_disburse_pending", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L137"}, {"caller_nid": "services_pl_menu_badge_service_count_freight_disburse_pending", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L138"}, {"caller_nid": "services_pl_menu_badge_service_build_menu_badge_counts", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L149"}, {"caller_nid": "services_pl_menu_badge_service_build_menu_badge_counts", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py", "source_location": "L149"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e.json b/backend/graphify-out/cache/ast/ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e.json
new file mode 100644
index 000000000..c0d3bd616
--- /dev/null
+++ b/backend/graphify-out/cache/ast/ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L1"}, {"id": "bx_reimburse_reimburseservice", "label": "ReimburseService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L40"}, {"id": "bx_reimburse_reimburseservice_tenant_no", "label": "._tenant_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42"}, {"id": "bx_reimburse_reimburseservice_get_by_id", "label": ".get_by_id()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46"}, {"id": "bool", "label": "bool", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46"}, {"id": "bxreimburseapply", "label": "BxReimburseApply", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46"}, {"id": "bx_reimburse_reimburseservice_get_paged", "label": ".get_paged()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59"}, {"id": "bx_reimburse_reimburseservice_soft_delete", "label": ".soft_delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73"}, {"id": "bx_reimburse_reimburseservice_workflow_nodes", "label": "._workflow_nodes()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80"}, {"id": "bxworkflownode", "label": "BxWorkflowNode", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80"}, {"id": "bx_reimburse_reimburseservice_pending_approval", "label": ".pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93"}, {"id": "bx_reimburse_reimburseservice_approved_by_me", "label": ".approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159"}, {"id": "bx_reimburse_reimburseservice_submit", "label": ".submit()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220"}, {"id": "bx_reimburse_reimburseservice_approve", "label": ".approve()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237"}, {"id": "bx_reimburse_reimburseservice_reject", "label": ".reject()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282"}, {"id": "bx_reimburse_reimburseservice_approval_record_dict", "label": "._approval_record_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319"}, {"id": "bxreimburseapproval", "label": "BxReimburseApproval", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319"}, {"id": "bx_reimburse_reimburseservice_latest_approval_per_node", "label": "._latest_approval_per_node()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L332"}, {"id": "bx_reimburse_reimburseservice_query_approvals", "label": "._query_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349"}, {"id": "bx_reimburse_reimburseservice_get_approvals", "label": ".get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361"}, {"id": "bx_reimburse_reimburseservice_get_approval_history", "label": ".get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397"}, {"id": "bx_reimburse_reimburseservice_create_with_details", "label": ".create_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L416"}, {"id": "bx_reimburse_reimburseservice_update_with_details", "label": ".update_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480"}, {"id": "bx_reimburse_reimburseservice_get_details", "label": ".get_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559"}, {"id": "bxreimbursedetail", "label": "BxReimburseDetail", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559"}, {"id": "bx_reimburse_reimburseservice_build_expense_name_condition", "label": ".build_expense_name_condition()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L572"}, {"id": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "label": ".get_details_map_by_reimburse_ids()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592"}, {"id": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "label": ".out_rows_with_attachment_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613"}, {"id": "reimburseapplyout", "label": "ReimburseApplyOut", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613"}, {"id": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "label": ".out_one_with_attachment_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640"}, {"id": "bx_reimburse_reimburseservice_build_apply_out_with_details", "label": ".build_apply_out_with_details()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646"}, {"id": "bx_reimburse_reimburseservice_global_status_counts", "label": ".global_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655"}, {"id": "bx_reimburse_reimburseservice_my_apply_base", "label": "._my_apply_base()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L664"}, {"id": "bx_reimburse_reimburseservice_my_apply_stats", "label": ".my_apply_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L676"}, {"id": "bx_reimburse_reimburseservice_pending_approval_stats", "label": ".pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L734"}, {"id": "bx_reimburse_reimburseservice_pay", "label": ".pay()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765"}, {"id": "float", "label": "float", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765"}, {"id": "bx_reimburse_reimburseservice_offset", "label": ".offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788"}, {"id": "bx_reimburse_reimburseservice_batch_offset", "label": ".batch_offset()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819"}, {"id": "bx_reimburse_reimburseservice_finance_payment_stats", "label": ".finance_payment_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L874"}, {"id": "bx_reimburse_rationale_335", "label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L335"}, {"id": "bx_reimburse_rationale_400", "label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L400"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy_exc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_schemas_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_approval_cycle", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_attachment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L25", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_services_bx_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L26", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L27", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L35", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_reimburse_py", "target": "bx_reimburse_reimburseservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L40", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_tenant_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L42", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "bool", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_by_id", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L46", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_paged", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_paged", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L59", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_soft_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bool", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L73", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_workflow_nodes", "target": "bxworkflownode", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L80", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pending_approval", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L93", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approved_by_me", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L159", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_submit", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L220", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approve", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L237", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_reject", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L282", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "bxreimburseapproval", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approval_record_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L319", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L332", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L332", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L332", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_latest_approval_per_node", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L332", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_query_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_query_approvals", "target": "bxreimburseapproval", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L349", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_approvals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L361", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_approval_history", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "bxusercontext", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L397", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_create_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L416", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L416", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L416", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimburseapply", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L416", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_update_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L480", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details", "target": "bxreimbursedetail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L559", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_build_expense_name_condition", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L572", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_expense_name_condition", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L572", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_expense_name_condition", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L572", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_expense_name_condition", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L572", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "target": "bxreimbursedetail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L592", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "reimburseapplyout", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L613", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "bxreimburseapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "reimburseapplyout", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L640", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_build_apply_out_with_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bxreimburseapply", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "reimburseapplyout", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L646", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_global_status_counts", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_global_status_counts", "target": "int", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L655", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_my_apply_base", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L664", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_base", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L664", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_base", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L664", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_base", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L664", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_my_apply_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L676", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L676", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L676", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L676", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pending_approval_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L734", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L734", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L734", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L734", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_pay", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "float", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L765", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_offset", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L788", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_batch_offset", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "float", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bxreimburseapply", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L819", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice", "target": "bx_reimburse_reimburseservice_finance_payment_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L874", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_finance_payment_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L874", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_finance_payment_stats", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L874", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_finance_payment_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L874", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_soft_delete", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L74", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "bx_reimburse_reimburseservice_build_expense_name_condition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L134", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pending_approval", "target": "bx_reimburse_reimburseservice_offset", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L149", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "bx_reimburse_reimburseservice_build_expense_name_condition", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L197", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approved_by_me", "target": "bx_reimburse_reimburseservice_offset", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L212", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L221", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L222", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_submit", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L230", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L240", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L241", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L244", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_approve", "target": "bxreimburseapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L257", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L285", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L286", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L289", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_reject", "target": "bxreimburseapproval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L297", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L364", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_workflow_nodes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L370", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_query_approvals", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L373", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approvals", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L380", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L401", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_get_approval_history", "target": "bx_reimburse_reimburseservice_approval_record_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L413", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L423", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimburseapply", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L435", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_create_with_details", "target": "bxreimbursedetail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L464", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L488", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L489", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_update_with_details", "target": "bxreimbursedetail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L533", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "target": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L622", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "target": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L643", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bx_reimburse_reimburseservice_out_one_with_attachment_counts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L649", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_build_apply_out_with_details", "target": "bx_reimburse_reimburseservice_get_details", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L650", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_my_apply_stats", "target": "bx_reimburse_reimburseservice_my_apply_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L677", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L772", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_pay", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L773", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L796", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_offset", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L797", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bx_reimburse_reimburseservice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L827", "weight": 1.0}, {"source": "bx_reimburse_reimburseservice_batch_offset", "target": "bx_reimburse_reimburseservice_get_by_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L828", "weight": 1.0}, {"source": "bx_reimburse_rationale_335", "target": "bx_reimburse_reimburseservice_latest_approval_per_node", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L335", "weight": 1.0}, {"source": "bx_reimburse_rationale_400", "target": "bx_reimburse_reimburseservice_get_approval_history", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L400", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_reimburse_reimburseservice_tenant_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L43"}, {"caller_nid": "bx_reimburse_reimburseservice_tenant_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L43"}, {"caller_nid": "bx_reimburse_reimburseservice_workflow_nodes", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L82"}, {"caller_nid": "bx_reimburse_reimburseservice_workflow_nodes", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L82"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L107"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L107"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L110"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L126"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L127"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L128"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L129"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "resolve_create_time_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L137"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L146"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L147"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L147"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L147"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L147"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L149"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L149"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L149"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L149"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L151"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "distinct", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L183"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L189"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L190"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L191"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L192"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "resolve_create_time_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L200"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L209"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L210"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L212"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L212"}, {"caller_nid": "bx_reimburse_reimburseservice_approved_by_me", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L212"}, {"caller_nid": "bx_reimburse_reimburseservice_submit", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L227"}, {"caller_nid": "bx_reimburse_reimburseservice_submit", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L233"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L258"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L266"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L271"}, {"caller_nid": "bx_reimburse_reimburseservice_approve", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L278"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L298"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L306"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L311"}, {"caller_nid": "bx_reimburse_reimburseservice_reject", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L315"}, {"caller_nid": "bx_reimburse_reimburseservice_latest_approval_per_node", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L338"}, {"caller_nid": "bx_reimburse_reimburseservice_query_approvals", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L351"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "filter_current_cycle_approvals", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L374"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L378"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L380"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approvals", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L382"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L404"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L404"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L410"}, {"caller_nid": "bx_reimburse_reimburseservice_get_approval_history", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L410"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L425"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "parse_reimburse_date", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L426"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L426"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L427"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "resolve_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L432"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L436"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L441"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L442"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L450"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L452"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "rollback", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L455"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "RuntimeError", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L461"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L465"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L470"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L475"}, {"caller_nid": "bx_reimburse_reimburseservice_create_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L476"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "parse_reimburse_date", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L496"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L496"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "pop", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L499"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L501"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L508"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "is_auto_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L510"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "allocate_reimburse_title_seq", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L512"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "format_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L516"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "is_auto_reimburse_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L519"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L523"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L523"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L529"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L534"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L539"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L544"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L545"}, {"caller_nid": "bx_reimburse_reimburseservice_update_with_details", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L555"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L561"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L561"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L575"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L579"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L583"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L586"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L587"}, {"caller_nid": "bx_reimburse_reimburseservice_build_expense_name_condition", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L588"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L598"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L600"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L609"}, {"caller_nid": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L609"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "count_invoice_attach_by_biz_ids", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L619"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L625"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L626"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L627"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L628"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L629"}, {"caller_nid": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L633"}, {"caller_nid": "bx_reimburse_reimburseservice_build_apply_out_with_details", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L651"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L656"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L656"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L659"}, {"caller_nid": "bx_reimburse_reimburseservice_global_status_counts", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L660"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_base", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L665"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_base", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L668"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_base", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L673"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L677"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L678"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L678"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L680"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L680"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L680"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L680"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L683"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L683"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L683"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L683"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L690"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L690"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L690"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L690"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L692"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L697"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L697"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L697"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L697"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L704"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L704"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L704"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L705"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L709"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L711"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L711"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L711"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L717"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L717"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L717"}, {"caller_nid": "bx_reimburse_reimburseservice_my_apply_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L717"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L735"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L736"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L736"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L739"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L753"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L753"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L753"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L753"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L754"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L756"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L756"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L756"}, {"caller_nid": "bx_reimburse_reimburseservice_pending_approval_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L756"}, {"caller_nid": "bx_reimburse_reimburseservice_pay", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L779"}, {"caller_nid": "bx_reimburse_reimburseservice_pay", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L784"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "BxReimburseOffset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L804"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L805"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L814"}, {"caller_nid": "bx_reimburse_reimburseservice_offset", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L815"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "BxReimburseOffset", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L842"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L843"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L852"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L860"}, {"caller_nid": "bx_reimburse_reimburseservice_batch_offset", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L870"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L876"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "subquery", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L879"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "apply_bx_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L879"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L880"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L880"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L882"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L882"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L882"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L882"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L888"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L890"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L890"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L890"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L890"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L892"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "and_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L894"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "is_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L896"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L897"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L901"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "select_from", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L901"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L901"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L901"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "current_month_bounds", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L903"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L905"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L905"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L905"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "scalar", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L911"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L911"}, {"caller_nid": "bx_reimburse_reimburseservice_finance_payment_stats", "callee": "coalesce", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py", "source_location": "L911"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/d2e73af4453751bd1b6dc80afc7fd376fccc4eb960c47e0ade9a06b61bf65576.json b/backend/graphify-out/cache/ast/d2e73af4453751bd1b6dc80afc7fd376fccc4eb960c47e0ade9a06b61bf65576.json
new file mode 100644
index 000000000..72d966ed6
--- /dev/null
+++ b/backend/graphify-out/cache/ast/d2e73af4453751bd1b6dc80afc7fd376fccc4eb960c47e0ade9a06b61bf65576.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1"}, {"id": "pl_plan_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "pl_plan_format_subpack_slip_no", "label": "_format_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115"}, {"id": "pl_plan_normalize_subpack_slip_no", "label": "_normalize_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119"}, {"id": "pl_plan_subpack_slip_no_seq", "label": "_subpack_slip_no_seq()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144"}, {"id": "pl_plan_ensure_subpack_slip_no", "label": "_ensure_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152"}, {"id": "pl_plan_determine_plan_type", "label": "_determine_plan_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184"}, {"id": "pl_plan_get_plan_type_label", "label": "_get_plan_type_label()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189"}, {"id": "pl_plan_generate_notify_message", "label": "_generate_notify_message()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198"}, {"id": "pl_plan_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "planlistresponse", "label": "PlanListResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "pl_plan_count_plans_by_contract", "label": "count_plans_by_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L330"}, {"id": "pl_plan_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358"}, {"id": "plancreate", "label": "PlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358"}, {"id": "planread", "label": "PlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358"}, {"id": "pl_plan_create_plan_full", "label": "create_plan_full()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441"}, {"id": "plancreatefull", "label": "PlanCreateFull", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441"}, {"id": "planwithproducts", "label": "PlanWithProducts", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441"}, {"id": "pl_plan_create_from_contract", "label": "create_from_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548"}, {"id": "createfromcontractrequest", "label": "CreateFromContractRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548"}, {"id": "pl_plan_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657"}, {"id": "pl_plan_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704"}, {"id": "planupdate", "label": "PlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704"}, {"id": "pl_plan_patch_plan_product_certs", "label": "patch_plan_product_certs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826"}, {"id": "planproductcertsupdate", "label": "PlanProductCertsUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826"}, {"id": "pl_plan_patch_plan_hazard_cert_ready", "label": "patch_plan_hazard_cert_ready()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858"}, {"id": "hazardcertreadybody", "label": "HazardCertReadyBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858"}, {"id": "pl_plan_build_driver_url", "label": "_build_driver_url()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L889"}, {"id": "pl_plan_get_plan_arrange_info", "label": "get_plan_arrange_info()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895"}, {"id": "planarrangeinforead", "label": "PlanArrangeInfoRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895"}, {"id": "pl_plan_cancel_plan", "label": "cancel_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009"}, {"id": "pl_plan_archive_plan", "label": "archive_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067"}, {"id": "planarchivebody", "label": "PlanArchiveBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067"}, {"id": "pl_plan_update_plan_driver_feedback", "label": "update_plan_driver_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123"}, {"id": "plandriverfeedbackupdatebody", "label": "PlanDriverFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123"}, {"id": "pl_plan_update_plan_site_feedback", "label": "update_plan_site_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154"}, {"id": "plansitefeedbackupdatebody", "label": "PlanSiteFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154"}, {"id": "pl_plan_get_inbound_slip_template", "label": "get_inbound_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193"}, {"id": "pl_plan_save_inbound_slip_template", "label": "save_inbound_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204"}, {"id": "planinboundsliptemplatesave", "label": "PlanInboundSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204"}, {"id": "pl_plan_get_delivery_slip_template", "label": "get_delivery_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227"}, {"id": "pl_plan_save_delivery_slip_template", "label": "save_delivery_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238"}, {"id": "plandeliverysliptemplatesave", "label": "PlanDeliverySlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238"}, {"id": "pl_plan_get_subpack_slip_template", "label": "get_subpack_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261"}, {"id": "pl_plan_save_subpack_slip_template", "label": "save_subpack_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272"}, {"id": "plansubpacksliptemplatesave", "label": "PlanSubpackSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272"}, {"id": "pl_plan_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1309"}, {"id": "pl_plan_rationale_84", "label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 POYYYYMMDD###\uff08\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7\uff0c\u6bcf\u65e5\u91cd\u7f6e\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L84"}, {"id": "pl_plan_rationale_120", "label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a NO:SXFZYYYYMMDD-###", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L120"}, {"id": "pl_plan_rationale_153", "label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 NO:SXFZYYYYMMDD-###\uff08\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L153"}, {"id": "pl_plan_rationale_446", "label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212\uff08\u5b8c\u6574\u8868\u5355\uff1a\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86\uff0c\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L446"}, {"id": "pl_plan_rationale_832", "label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66\uff08\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e\uff0c\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L832"}, {"id": "pl_plan_rationale_900", "label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\uff08\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L900"}, {"id": "pl_plan_rationale_1014", "label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212\uff1a\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1014"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl_transport", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L50", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_dibang_bridge_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_inventory_link_read", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_site_link_read", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L53", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_transport_site_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_plan_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L55", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "pl_plan_generate_plan_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "pl_plan_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_format_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_normalize_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_subpack_slip_no_seq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_ensure_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_determine_plan_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan_type_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "pl_plan_get_plan_type_label", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "pl_plan_get_plan_type_label", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_generate_notify_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "pl_plan_generate_notify_message", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "pl_plan_generate_notify_message", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "planlistresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_count_plans_by_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L330", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L330", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L330", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L330", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "plancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L358", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_plan_full", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "plancreatefull", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L441", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_from_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "createfromcontractrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L548", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L657", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "planupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L704", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_patch_plan_product_certs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "planproductcertsupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L826", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_patch_plan_hazard_cert_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "hazardcertreadybody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L858", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_build_driver_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L889", "weight": 1.0}, {"source": "pl_plan_build_driver_url", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L889", "weight": 1.0}, {"source": "pl_plan_build_driver_url", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L889", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan_arrange_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "planarrangeinforead", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L895", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_cancel_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1009", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_archive_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "planarchivebody", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1067", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan_driver_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "plandriverfeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1123", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan_site_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "plansitefeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1154", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_inbound_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1193", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_inbound_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "planinboundsliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1204", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_delivery_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1227", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_delivery_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "plandeliverysliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1238", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_subpack_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1261", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_subpack_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "plansubpacksliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1272", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_ensure_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1288", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1288", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1288", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1288", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1288", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1309", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1309", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1309", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1309", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "plplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1348", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "pl_plan_format_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L128", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "pl_plan_normalize_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L145", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "pl_plan_normalize_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L156", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "pl_plan_subpack_slip_no_seq", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L177", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "planlistresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L326", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L366", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L371", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L373", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L450", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L452", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L455", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L570", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L573", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L575", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "planarrangeinforead", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L904", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "pl_plan_build_driver_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L921", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1089", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1150", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1184", "weight": 1.0}, {"source": "pl_plan_rationale_84", "target": "pl_plan_generate_plan_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L84", "weight": 1.0}, {"source": "pl_plan_rationale_120", "target": "pl_plan_normalize_subpack_slip_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_plan_rationale_153", "target": "pl_plan_ensure_subpack_slip_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L153", "weight": 1.0}, {"source": "pl_plan_rationale_446", "target": "pl_plan_create_plan_full", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L446", "weight": 1.0}, {"source": "pl_plan_rationale_832", "target": "pl_plan_patch_plan_product_certs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L832", "weight": 1.0}, {"source": "pl_plan_rationale_900", "target": "pl_plan_get_plan_arrange_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L900", "weight": 1.0}, {"source": "pl_plan_rationale_1014", "target": "pl_plan_cancel_plan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1014", "weight": 1.0}], "raw_calls": [{"caller_nid": "pl_plan_generate_plan_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L85"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L86"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L90"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L91"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "isdigit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L98"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L121"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L125"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L127"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L130"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L132"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L136"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L138"}, {"caller_nid": "pl_plan_subpack_slip_no_seq", "callee": "startswith", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L146"}, {"caller_nid": "pl_plan_subpack_slip_no_seq", "callee": "isdigit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L149"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L154"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L162"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L163"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L166"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L169"}, {"caller_nid": "pl_plan_determine_plan_type", "callee": "determine_plan_type", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L186"}, {"caller_nid": "pl_plan_get_plan_type_label", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L195"}, {"caller_nid": "pl_plan_generate_notify_message", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L200"}, {"caller_nid": "pl_plan_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L234"}, {"caller_nid": "pl_plan_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L234"}, {"caller_nid": "pl_plan_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L235"}, {"caller_nid": "pl_plan_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L242"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L243"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L249"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L272"}, {"caller_nid": "pl_plan_list_plans", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L275"}, {"caller_nid": "pl_plan_list_plans", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L285"}, {"caller_nid": "pl_plan_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L285"}, {"caller_nid": "pl_plan_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L287"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L294"}, {"caller_nid": "pl_plan_list_plans", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L294"}, {"caller_nid": "pl_plan_list_plans", "callee": "fetch_hazard_flags_map", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L296"}, {"caller_nid": "pl_plan_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L305"}, {"caller_nid": "pl_plan_list_plans", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L306"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L312"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L313"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L314"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L316"}, {"caller_nid": "pl_plan_list_plans", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L318"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L324"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L335"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L335"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L336"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L336"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L336"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L341"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L341"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L345"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L348"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L348"}, {"caller_nid": "pl_plan_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L363"}, {"caller_nid": "pl_plan_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L363"}, {"caller_nid": "pl_plan_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L374"}, {"caller_nid": "pl_plan_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L417"}, {"caller_nid": "pl_plan_create_plan", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L422"}, {"caller_nid": "pl_plan_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L431"}, {"caller_nid": "pl_plan_create_plan", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L433"}, {"caller_nid": "pl_plan_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L435"}, {"caller_nid": "pl_plan_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L436"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "validate_create_full", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L447"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L448"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L448"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "assert_contract_selectable_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L449"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L456"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L493"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L500"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L501"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L505"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L510"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L511"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L520"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L521"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "apply_vehicle_prefill_to_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L524"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L534"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L535"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L537"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L556"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L556"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L560"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L560"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L565"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "assert_contract_selectable_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L567"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L576"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L589"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L591"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L593"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L608"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L612"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L622"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "PlPlanProduct", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L627"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L628"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L644"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L646"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L647"}, {"caller_nid": "pl_plan_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L662"}, {"caller_nid": "pl_plan_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L662"}, {"caller_nid": "pl_plan_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L663"}, {"caller_nid": "pl_plan_get_plan", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L666"}, {"caller_nid": "pl_plan_get_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L666"}, {"caller_nid": "pl_plan_get_plan", "callee": "fetch_hazard_flags_map", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L675"}, {"caller_nid": "pl_plan_get_plan", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L683"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L689"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L690"}, {"caller_nid": "pl_plan_get_plan", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L691"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L693"}, {"caller_nid": "pl_plan_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L710"}, {"caller_nid": "pl_plan_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L710"}, {"caller_nid": "pl_plan_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L711"}, {"caller_nid": "pl_plan_update_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L714"}, {"caller_nid": "pl_plan_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L717"}, {"caller_nid": "pl_plan_update_plan", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L718"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L726"}, {"caller_nid": "pl_plan_update_plan", "callee": "collect_hazard_product_ids", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L733"}, {"caller_nid": "pl_plan_update_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L743"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L743"}, {"caller_nid": "pl_plan_update_plan", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L750"}, {"caller_nid": "pl_plan_update_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L758"}, {"caller_nid": "pl_plan_update_plan", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L763"}, {"caller_nid": "pl_plan_update_plan", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L772"}, {"caller_nid": "pl_plan_update_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L781"}, {"caller_nid": "pl_plan_update_plan", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L782"}, {"caller_nid": "pl_plan_update_plan", "callee": "collect_hazard_product_ids", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L784"}, {"caller_nid": "pl_plan_update_plan", "callee": "clear_hazard_cert_ready", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L786"}, {"caller_nid": "pl_plan_update_plan", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L788"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L791"}, {"caller_nid": "pl_plan_update_plan", "callee": "sync_transport_prefill_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L802"}, {"caller_nid": "pl_plan_update_plan", "callee": "clear_draft_transport_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L812"}, {"caller_nid": "pl_plan_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L820"}, {"caller_nid": "pl_plan_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L821"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L833"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L833"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L834"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "update_plan_product_certs", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L835"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L842"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L844"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L844"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L852"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L865"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L865"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L866"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "set_hazard_cert_ready", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L867"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L874"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L876"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L876"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L884"}, {"caller_nid": "pl_plan_build_driver_url", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L890"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L901"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L901"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L902"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L909"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L909"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L920"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L924"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L924"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L931"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L937"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "build_transport_site_link_read_from_row", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L946"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L948"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L954"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L967"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L967"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L975"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L975"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L983"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "build_transport_inventory_link_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L984"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1015"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1015"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1016"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1019"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1022"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1026"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1026"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "revoke_regeneratable_dibang_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1036"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1043"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "revoke_site_links_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1044"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1056"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1057"}, {"caller_nid": "pl_plan_archive_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1073"}, {"caller_nid": "pl_plan_archive_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1073"}, {"caller_nid": "pl_plan_archive_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1074"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1077"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1083"}, {"caller_nid": "pl_plan_archive_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1088"}, {"caller_nid": "pl_plan_archive_plan", "callee": "apply_archive_product_quantities", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1091"}, {"caller_nid": "pl_plan_archive_plan", "callee": "apply_archive_freight", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1095"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1100"}, {"caller_nid": "pl_plan_archive_plan", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1108"}, {"caller_nid": "pl_plan_archive_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1118"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1129"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1129"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1130"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "apply_plan_driver_feedback", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1131"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1138"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1149"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1161"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1161"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1162"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "apply_plan_site_feedback", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1163"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1171"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1172"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1183"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1198"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1198"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1199"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1210"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1210"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1211"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1213"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1215"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1218"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1232"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1232"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1233"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1244"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1244"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1245"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1247"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1249"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1252"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1266"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1266"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1267"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1278"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1278"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1279"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1281"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1284"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1293"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1293"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1294"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1296"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1299"}, {"caller_nid": "pl_plan_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1314"}, {"caller_nid": "pl_plan_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1314"}, {"caller_nid": "pl_plan_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1315"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1318"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1320"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1322"}, {"caller_nid": "pl_plan_delete_plan", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1324"}, {"caller_nid": "pl_plan_delete_plan", "callee": "user_info_from_context", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1324"}, {"caller_nid": "pl_plan_delete_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1328"}, {"caller_nid": "pl_plan_delete_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1328"}, {"caller_nid": "pl_plan_delete_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1334"}, {"caller_nid": "pl_plan_delete_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1334"}, {"caller_nid": "pl_plan_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1340"}, {"caller_nid": "pl_plan_get_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1350"}, {"caller_nid": "pl_plan_get_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1350"}, {"caller_nid": "pl_plan_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1359"}, {"caller_nid": "pl_plan_get_plan", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1360"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918.json b/backend/graphify-out/cache/ast/dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918.json
new file mode 100644
index 000000000..711908954
--- /dev/null
+++ b/backend/graphify-out/cache/ast/dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L1"}, {"id": "bx_reimburse_tenant", "label": "_tenant()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29"}, {"id": "bx_reimburse_build_details_data", "label": "_build_details_data()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33"}, {"id": "bx_reimburse_get_generated_title", "label": "get_generated_title()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54"}, {"id": "bx_reimburse_list_reimburses", "label": "list_reimburses()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67"}, {"id": "bx_reimburse_my_reimburses", "label": "my_reimburses()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113"}, {"id": "bx_reimburse_my_reimburse_stats", "label": "my_reimburse_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L158"}, {"id": "bx_reimburse_reimburse_status_counts", "label": "reimburse_status_counts()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L168"}, {"id": "bx_reimburse_pending_approval", "label": "pending_approval()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177"}, {"id": "bx_reimburse_pending_approval_stats", "label": "pending_approval_stats()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L209"}, {"id": "bx_reimburse_approved_by_me", "label": "approved_by_me()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219"}, {"id": "bx_reimburse_get_reimburse", "label": "get_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L251"}, {"id": "bx_reimburse_get_approvals", "label": "get_approvals()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L265"}, {"id": "bx_reimburse_get_approval_history", "label": "get_approval_history()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L278"}, {"id": "bx_reimburse_create_reimburse", "label": "create_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291"}, {"id": "reimburseapplycreate", "label": "ReimburseApplyCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291"}, {"id": "bx_reimburse_update_reimburse", "label": "update_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325"}, {"id": "reimburseapplyupdate", "label": "ReimburseApplyUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325"}, {"id": "bx_reimburse_submit_reimburse", "label": "submit_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L354"}, {"id": "bx_reimburse_approve_reimburse", "label": "approve_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369"}, {"id": "reimburseapprovalcreate", "label": "ReimburseApprovalCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369"}, {"id": "bx_reimburse_reject_reimburse", "label": "reject_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385"}, {"id": "bx_reimburse_delete_reimburse", "label": "delete_reimburse()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L401"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L1", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_schemas_bx_common", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_schemas_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_services_bx_expense_item", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L21", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_services_bx_reimburse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L22", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_utils_bx_codegen", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "app_utils_bx_date_range", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_tenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "bx_reimburse_tenant", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_build_details_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_reimburse_build_details_data", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "bx_reimburse_build_details_data", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L33", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_generated_title", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_list_reimburses", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_my_reimburses", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L113", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_my_reimburse_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L158", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L158", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L158", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_reimburse_status_counts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L168", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L168", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L168", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_pending_approval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L177", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_pending_approval_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L209", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L209", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L209", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_approved_by_me", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L219", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L251", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L251", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L251", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L251", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_approvals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L265", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L265", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L265", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L265", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_get_approval_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L278", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L278", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L278", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L278", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_create_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "reimburseapplycreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L291", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_update_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "reimburseapplyupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L325", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_submit_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L354", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L354", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L354", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L354", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_approve_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "reimburseapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L369", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_reject_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "reimburseapprovalcreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L385", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "target": "bx_reimburse_delete_reimburse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L401", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L401", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L401", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "bxusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L401", "weight": 1.0}, {"source": "bx_reimburse_get_generated_title", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L60", "weight": 1.0}, {"source": "bx_reimburse_list_reimburses", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L81", "weight": 1.0}, {"source": "bx_reimburse_my_reimburses", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L125", "weight": 1.0}, {"source": "bx_reimburse_my_reimburse_stats", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L162", "weight": 1.0}, {"source": "bx_reimburse_reimburse_status_counts", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L172", "weight": 1.0}, {"source": "bx_reimburse_pending_approval", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L189", "weight": 1.0}, {"source": "bx_reimburse_pending_approval_stats", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L213", "weight": 1.0}, {"source": "bx_reimburse_approved_by_me", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L231", "weight": 1.0}, {"source": "bx_reimburse_get_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L256", "weight": 1.0}, {"source": "bx_reimburse_get_approvals", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L270", "weight": 1.0}, {"source": "bx_reimburse_get_approval_history", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L283", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L296", "weight": 1.0}, {"source": "bx_reimburse_create_reimburse", "target": "bx_reimburse_build_details_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L297", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L331", "weight": 1.0}, {"source": "bx_reimburse_update_reimburse", "target": "bx_reimburse_build_details_data", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L334", "weight": 1.0}, {"source": "bx_reimburse_submit_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L359", "weight": 1.0}, {"source": "bx_reimburse_approve_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L375", "weight": 1.0}, {"source": "bx_reimburse_reject_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L391", "weight": 1.0}, {"source": "bx_reimburse_delete_reimburse", "target": "bx_reimburse_tenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L406", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_reimburse_tenant", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L30"}, {"caller_nid": "bx_reimburse_tenant", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L30"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L36"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L38"}, {"caller_nid": "bx_reimburse_build_details_data", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L42"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L61"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "generate_title", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L62"}, {"caller_nid": "bx_reimburse_get_generated_title", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L63"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L84"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L86"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L87"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L88"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L89"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L90"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L94"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L94"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "build_expense_name_condition", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L95"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L97"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L99"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L99"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L100"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L107"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L108"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L109"}, {"caller_nid": "bx_reimburse_list_reimburses", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L109"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L127"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L133"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L135"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L136"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L137"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L138"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L139"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "build_expense_name_condition", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L142"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L144"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "append_create_time_filters", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L145"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L152"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L153"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L154"}, {"caller_nid": "bx_reimburse_my_reimburses", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L154"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "my_apply_stats", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L163"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L164"}, {"caller_nid": "bx_reimburse_my_reimburse_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L164"}, {"caller_nid": "bx_reimburse_reimburse_status_counts", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_reimburse_status_counts", "callee": "global_status_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L173"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L190"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L204"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L205"}, {"caller_nid": "bx_reimburse_pending_approval", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L205"}, {"caller_nid": "bx_reimburse_pending_approval_stats", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L215"}, {"caller_nid": "bx_reimburse_pending_approval_stats", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L215"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L232"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "out_rows_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L246"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L247"}, {"caller_nid": "bx_reimburse_approved_by_me", "callee": "PagedData", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L247"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L257"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L259"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L260"}, {"caller_nid": "bx_reimburse_get_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L261"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L271"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L272"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L274"}, {"caller_nid": "bx_reimburse_get_approvals", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L274"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L284"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L285"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L287"}, {"caller_nid": "bx_reimburse_get_approval_history", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L287"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "generate_apply_code", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L299"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L307"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L307"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "create_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L317"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L318"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L319"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L320"}, {"caller_nid": "bx_reimburse_create_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L321"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "update_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L342"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L346"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L347"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L348"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "build_apply_out_with_details", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L349"}, {"caller_nid": "bx_reimburse_update_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L350"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "submit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L360"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L362"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L363"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L364"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L365"}, {"caller_nid": "bx_reimburse_submit_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L365"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "approve", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L376"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L378"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L379"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L380"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L381"}, {"caller_nid": "bx_reimburse_approve_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L381"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "reject", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L392"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L394"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L395"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L396"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L397"}, {"caller_nid": "bx_reimburse_reject_reimburse", "callee": "out_one_with_attachment_counts", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L397"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L407"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L408"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "soft_delete", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L409"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L410"}, {"caller_nid": "bx_reimburse_delete_reimburse", "callee": "ApiResponse", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py", "source_location": "L411"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669.json b/backend/graphify-out/cache/ast/e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669.json
new file mode 100644
index 000000000..2ee57a1d5
--- /dev/null
+++ b/backend/graphify-out/cache/ast/e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "label": "bx_date_range.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L1"}, {"id": "utils_bx_date_range_current_month_bounds", "label": "current_month_bounds()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7"}, {"id": "utils_bx_date_range_parse_create_time_day_bounds", "label": "parse_create_time_day_bounds()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19"}, {"id": "utils_bx_date_range_parse_day_start", "label": "_parse_day_start()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L29"}, {"id": "utils_bx_date_range_resolve_create_time_bounds", "label": "resolve_create_time_bounds()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38"}, {"id": "utils_bx_date_range_append_create_time_filters", "label": "append_create_time_filters()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L57"}, {"id": "utils_bx_date_range_rationale_1", "label": "\u62a5\u9500\u6a21\u5757\u65e5\u671f\u8303\u56f4\u5de5\u5177\uff08\u4ece bx-backend \u8fc1\u79fb\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L1"}, {"id": "utils_bx_date_range_rationale_8", "label": "\u5f53\u524d\u81ea\u7136\u6708 [month_start, next_month_start)\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L8"}, {"id": "utils_bx_date_range_rationale_43", "label": "\u89e3\u6790\u7533\u8bf7\u65f6\u95f4\u7b5b\u9009\u8fb9\u754c\uff0c\u8fd4\u56de (\u542b\u8d77, \u4e0d\u542b\u6b62)\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L43"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "utils_bx_date_range_current_month_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7", "weight": 1.0}, {"source": "utils_bx_date_range_current_month_bounds", "target": "datetime", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7", "weight": 1.0}, {"source": "utils_bx_date_range_current_month_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7", "weight": 1.0}, {"source": "utils_bx_date_range_current_month_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "utils_bx_date_range_parse_create_time_day_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19", "weight": 1.0}, {"source": "utils_bx_date_range_parse_create_time_day_bounds", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19", "weight": 1.0}, {"source": "utils_bx_date_range_parse_create_time_day_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19", "weight": 1.0}, {"source": "utils_bx_date_range_parse_create_time_day_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "utils_bx_date_range_parse_day_start", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L29", "weight": 1.0}, {"source": "utils_bx_date_range_parse_day_start", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L29", "weight": 1.0}, {"source": "utils_bx_date_range_parse_day_start", "target": "datetime", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L29", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "utils_bx_date_range_resolve_create_time_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "datetime", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L38", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "target": "utils_bx_date_range_append_create_time_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_date_range_append_create_time_filters", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_date_range_append_create_time_filters", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_date_range_append_create_time_filters", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L57", "weight": 1.0}, {"source": "utils_bx_date_range_current_month_bounds", "target": "datetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L13", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "utils_bx_date_range_parse_day_start", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L45", "weight": 1.0}, {"source": "utils_bx_date_range_resolve_create_time_bounds", "target": "utils_bx_date_range_parse_create_time_day_bounds", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L51", "weight": 1.0}, {"source": "utils_bx_date_range_append_create_time_filters", "target": "utils_bx_date_range_resolve_create_time_bounds", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L65", "weight": 1.0}, {"source": "utils_bx_date_range_rationale_1", "target": "users_zlwu_work_00code_shanxia2_0_backend_app_utils_bx_date_range_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L1", "weight": 1.0}, {"source": "utils_bx_date_range_rationale_8", "target": "utils_bx_date_range_current_month_bounds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L8", "weight": 1.0}, {"source": "utils_bx_date_range_rationale_43", "target": "utils_bx_date_range_resolve_create_time_bounds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L43", "weight": 1.0}], "raw_calls": [{"caller_nid": "utils_bx_date_range_current_month_bounds", "callee": "now", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L10"}, {"caller_nid": "utils_bx_date_range_current_month_bounds", "callee": "replace", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L11"}, {"caller_nid": "utils_bx_date_range_parse_create_time_day_bounds", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L20"}, {"caller_nid": "utils_bx_date_range_parse_create_time_day_bounds", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L23"}, {"caller_nid": "utils_bx_date_range_parse_create_time_day_bounds", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L23"}, {"caller_nid": "utils_bx_date_range_parse_create_time_day_bounds", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L24"}, {"caller_nid": "utils_bx_date_range_parse_day_start", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L30"}, {"caller_nid": "utils_bx_date_range_parse_day_start", "callee": "strptime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L33"}, {"caller_nid": "utils_bx_date_range_parse_day_start", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L33"}, {"caller_nid": "utils_bx_date_range_resolve_create_time_bounds", "callee": "timedelta", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L49"}, {"caller_nid": "utils_bx_date_range_append_create_time_filters", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L71"}, {"caller_nid": "utils_bx_date_range_append_create_time_filters", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py", "source_location": "L73"}]}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8.json b/backend/graphify-out/cache/ast/f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8.json
new file mode 100644
index 000000000..001e0e9c8
--- /dev/null
+++ b/backend/graphify-out/cache/ast/f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L1"}, {"id": "pl_plan_planproductbase", "label": "PlanProductBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L16"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "pl_plan_planproductcreate", "label": "PlanProductCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L46"}, {"id": "pl_plan_planproductupdate", "label": "PlanProductUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L50"}, {"id": "pl_plan_planproductread", "label": "PlanProductRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L72"}, {"id": "pl_plan_planbase", "label": "PlanBase", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L86"}, {"id": "pl_plan_plancreate", "label": "PlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L126"}, {"id": "pl_plan_plantransportcreateblock", "label": "PlanTransportCreateBlock", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L132"}, {"id": "pl_plan_planupdate", "label": "PlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L146"}, {"id": "pl_plan_hazardcertreadybody", "label": "HazardCertReadyBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L186"}, {"id": "pl_plan_planread", "label": "PlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L191"}, {"id": "planresourcesnapshotmixin", "label": "PlanResourceSnapshotMixin", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "pl_plan_planwithproducts", "label": "PlanWithProducts", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L218"}, {"id": "pl_plan_planinboundsliptemplatesave", "label": "PlanInboundSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L222"}, {"id": "pl_plan_plandeliverysliptemplatesave", "label": "PlanDeliverySlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L227"}, {"id": "pl_plan_plansubpacksliptemplatesave", "label": "PlanSubpackSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L234"}, {"id": "pl_plan_createfromcontractrequest", "label": "CreateFromContractRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L246"}, {"id": "pl_plan_plancreatefull", "label": "PlanCreateFull", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L254"}, {"id": "pl_plan_planlistquery", "label": "PlanListQuery", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L265"}, {"id": "pl_plan_planproductcertitem", "label": "PlanProductCertItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L280"}, {"id": "pl_plan_planproductcertsupdate", "label": "PlanProductCertsUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L288"}, {"id": "pl_plan_planarchiveproductitem", "label": "PlanArchiveProductItem", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L293"}, {"id": "pl_plan_planarchivefreightblock", "label": "PlanArchiveFreightBlock", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L299"}, {"id": "pl_plan_planarchivebody", "label": "PlanArchiveBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L310"}, {"id": "pl_plan_plandriverfeedbackupdatebody", "label": "PlanDriverFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L316"}, {"id": "pl_plan_plansitefeedbackupdatebody", "label": "PlanSiteFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L324"}, {"id": "pl_plan_planlistresponse", "label": "PlanListResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L337"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "app_schemas_pl_datetime_parse", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "app_schemas_pl_resource_snapshot", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L16", "weight": 1.0}, {"source": "pl_plan_planproductbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductcreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L46", "weight": 1.0}, {"source": "pl_plan_planproductcreate", "target": "pl_plan_planproductbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L46", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L50", "weight": 1.0}, {"source": "pl_plan_planproductupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L50", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L72", "weight": 1.0}, {"source": "pl_plan_planproductread", "target": "pl_plan_planproductbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L72", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planbase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L86", "weight": 1.0}, {"source": "pl_plan_planbase", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L86", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plancreate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L126", "weight": 1.0}, {"source": "pl_plan_plancreate", "target": "pl_plan_planbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L126", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plantransportcreateblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L132", "weight": 1.0}, {"source": "pl_plan_plantransportcreateblock", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L132", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L146", "weight": 1.0}, {"source": "pl_plan_planupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L146", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_hazardcertreadybody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L186", "weight": 1.0}, {"source": "pl_plan_hazardcertreadybody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L186", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planread", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L191", "weight": 1.0}, {"source": "pl_plan_planread", "target": "pl_plan_planbase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L191", "weight": 1.0}, {"source": "pl_plan_planread", "target": "planresourcesnapshotmixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L191", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planwithproducts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L218", "weight": 1.0}, {"source": "pl_plan_planwithproducts", "target": "pl_plan_planread", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L218", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planinboundsliptemplatesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L222", "weight": 1.0}, {"source": "pl_plan_planinboundsliptemplatesave", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L222", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plandeliverysliptemplatesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L227", "weight": 1.0}, {"source": "pl_plan_plandeliverysliptemplatesave", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L227", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plansubpacksliptemplatesave", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L234", "weight": 1.0}, {"source": "pl_plan_plansubpacksliptemplatesave", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L234", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_createfromcontractrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L246", "weight": 1.0}, {"source": "pl_plan_createfromcontractrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L246", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plancreatefull", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L254", "weight": 1.0}, {"source": "pl_plan_plancreatefull", "target": "pl_plan_plancreate", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L254", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planlistquery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L265", "weight": 1.0}, {"source": "pl_plan_planlistquery", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L265", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductcertitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L280", "weight": 1.0}, {"source": "pl_plan_planproductcertitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L280", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planproductcertsupdate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L288", "weight": 1.0}, {"source": "pl_plan_planproductcertsupdate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L288", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planarchiveproductitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L293", "weight": 1.0}, {"source": "pl_plan_planarchiveproductitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L293", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planarchivefreightblock", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L299", "weight": 1.0}, {"source": "pl_plan_planarchivefreightblock", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L299", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planarchivebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L310", "weight": 1.0}, {"source": "pl_plan_planarchivebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L310", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plandriverfeedbackupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L316", "weight": 1.0}, {"source": "pl_plan_plandriverfeedbackupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L316", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_plansitefeedbackupdatebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L324", "weight": 1.0}, {"source": "pl_plan_plansitefeedbackupdatebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L324", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_schemas_pl_plan_py", "target": "pl_plan_planlistresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L337", "weight": 1.0}, {"source": "pl_plan_planlistresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py", "source_location": "L337", "weight": 1.0}], "raw_calls": []}
\ No newline at end of file
diff --git a/backend/graphify-out/cache/ast/f8c55c630ab54c014ef572f29f7109645bfcb35af0f001b74c55e3ce4c61797e.json b/backend/graphify-out/cache/ast/f8c55c630ab54c014ef572f29f7109645bfcb35af0f001b74c55e3ce4c61797e.json
new file mode 100644
index 000000000..ffb612eb9
--- /dev/null
+++ b/backend/graphify-out/cache/ast/f8c55c630ab54c014ef572f29f7109645bfcb35af0f001b74c55e3ce4c61797e.json
@@ -0,0 +1 @@
+{"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "label": "plan.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1"}, {"id": "pl_plan_generate_plan_no", "label": "_generate_plan_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "str", "label": "str", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83"}, {"id": "pl_plan_format_subpack_slip_no", "label": "_format_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115"}, {"id": "int", "label": "int", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115"}, {"id": "pl_plan_normalize_subpack_slip_no", "label": "_normalize_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119"}, {"id": "pl_plan_subpack_slip_no_seq", "label": "_subpack_slip_no_seq()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144"}, {"id": "pl_plan_ensure_subpack_slip_no", "label": "_ensure_subpack_slip_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152"}, {"id": "plplan", "label": "PlPlan", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152"}, {"id": "pl_plan_determine_plan_type", "label": "_determine_plan_type()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184"}, {"id": "pl_plan_get_plan_type_label", "label": "_get_plan_type_label()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189"}, {"id": "pl_plan_generate_notify_message", "label": "_generate_notify_message()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198"}, {"id": "pl_plan_list_plans", "label": "list_plans()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "planlistresponse", "label": "PlanListResponse", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219"}, {"id": "pl_plan_count_plans_by_contract", "label": "count_plans_by_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L331"}, {"id": "pl_plan_create_plan", "label": "create_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359"}, {"id": "plancreate", "label": "PlanCreate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359"}, {"id": "planread", "label": "PlanRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359"}, {"id": "pl_plan_create_plan_full", "label": "create_plan_full()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442"}, {"id": "plancreatefull", "label": "PlanCreateFull", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442"}, {"id": "planwithproducts", "label": "PlanWithProducts", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442"}, {"id": "pl_plan_create_from_contract", "label": "create_from_contract()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549"}, {"id": "createfromcontractrequest", "label": "CreateFromContractRequest", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549"}, {"id": "pl_plan_get_plan", "label": "get_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658"}, {"id": "pl_plan_update_plan", "label": "update_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705"}, {"id": "planupdate", "label": "PlanUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705"}, {"id": "pl_plan_patch_plan_product_certs", "label": "patch_plan_product_certs()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827"}, {"id": "planproductcertsupdate", "label": "PlanProductCertsUpdate", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827"}, {"id": "pl_plan_patch_plan_hazard_cert_ready", "label": "patch_plan_hazard_cert_ready()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859"}, {"id": "hazardcertreadybody", "label": "HazardCertReadyBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859"}, {"id": "pl_plan_build_driver_url", "label": "_build_driver_url()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L890"}, {"id": "pl_plan_get_plan_arrange_info", "label": "get_plan_arrange_info()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896"}, {"id": "planarrangeinforead", "label": "PlanArrangeInfoRead", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896"}, {"id": "pl_plan_cancel_plan", "label": "cancel_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010"}, {"id": "pl_plan_archive_plan", "label": "archive_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068"}, {"id": "planarchivebody", "label": "PlanArchiveBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068"}, {"id": "pl_plan_update_plan_driver_feedback", "label": "update_plan_driver_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124"}, {"id": "plandriverfeedbackupdatebody", "label": "PlanDriverFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124"}, {"id": "pl_plan_update_plan_site_feedback", "label": "update_plan_site_feedback()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155"}, {"id": "plansitefeedbackupdatebody", "label": "PlanSiteFeedbackUpdateBody", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155"}, {"id": "pl_plan_get_inbound_slip_template", "label": "get_inbound_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194"}, {"id": "pl_plan_save_inbound_slip_template", "label": "save_inbound_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205"}, {"id": "planinboundsliptemplatesave", "label": "PlanInboundSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205"}, {"id": "pl_plan_get_delivery_slip_template", "label": "get_delivery_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228"}, {"id": "pl_plan_save_delivery_slip_template", "label": "save_delivery_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239"}, {"id": "plandeliverysliptemplatesave", "label": "PlanDeliverySlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239"}, {"id": "pl_plan_get_subpack_slip_template", "label": "get_subpack_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262"}, {"id": "pl_plan_save_subpack_slip_template", "label": "save_subpack_slip_template()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273"}, {"id": "plansubpacksliptemplatesave", "label": "PlanSubpackSlipTemplateSave", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273"}, {"id": "pl_plan_delete_plan", "label": "delete_plan()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1310"}, {"id": "pl_plan_rationale_84", "label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 POYYYYMMDD###\uff08\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7\uff0c\u6bcf\u65e5\u91cd\u7f6e\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L84"}, {"id": "pl_plan_rationale_120", "label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a NO:SXFZYYYYMMDD-###", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L120"}, {"id": "pl_plan_rationale_153", "label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 NO:SXFZYYYYMMDD-###\uff08\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L153"}, {"id": "pl_plan_rationale_447", "label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212\uff08\u5b8c\u6574\u8868\u5355\uff1a\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86\uff0c\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L447"}, {"id": "pl_plan_rationale_833", "label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66\uff08\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e\uff0c\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93\uff09", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L833"}, {"id": "pl_plan_rationale_901", "label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\uff08\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L901"}, {"id": "pl_plan_rationale_1015", "label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212\uff1a\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1015"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L2", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L6", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L10", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_db_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_delete_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_data_scope", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_db_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_models_pl_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L19", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl_plan", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L31", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_schemas_pl_transport", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L50", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_dibang_bridge_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_inventory_link_read", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L52", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_site_link_read", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L53", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_transport_site_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L54", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "app_services_pl_plan_service", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L55", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_generate_plan_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "pl_plan_generate_plan_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "pl_plan_generate_plan_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L83", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_format_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "pl_plan_format_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L115", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_normalize_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L119", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_subpack_slip_no_seq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "int", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L144", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_ensure_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L152", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_determine_plan_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "pl_plan_determine_plan_type", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L184", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan_type_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "pl_plan_get_plan_type_label", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "pl_plan_get_plan_type_label", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L189", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_generate_notify_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "pl_plan_generate_notify_message", "target": "plplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "pl_plan_generate_notify_message", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L198", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_list_plans", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "str", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "date", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "int", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "planlistresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L219", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_count_plans_by_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L331", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L331", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L331", "weight": 1.0}, {"source": "pl_plan_count_plans_by_contract", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L331", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "plancreate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L359", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_plan_full", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "plancreatefull", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L442", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_create_from_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "createfromcontractrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L549", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L658", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "planupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "pl_plan_update_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L705", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_patch_plan_product_certs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "planproductcertsupdate", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "pl_plan_patch_plan_product_certs", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L827", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_patch_plan_hazard_cert_ready", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "hazardcertreadybody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "pl_plan_patch_plan_hazard_cert_ready", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L859", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_build_driver_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L890", "weight": 1.0}, {"source": "pl_plan_build_driver_url", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L890", "weight": 1.0}, {"source": "pl_plan_build_driver_url", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L890", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan_arrange_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "planarrangeinforead", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L896", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_cancel_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010", "weight": 1.0}, {"source": "pl_plan_cancel_plan", "target": "planread", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1010", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_archive_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "planarchivebody", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1068", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan_driver_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "plandriverfeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1124", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_update_plan_site_feedback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "plansitefeedbackupdatebody", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "planwithproducts", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1155", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_inbound_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194", "weight": 1.0}, {"source": "pl_plan_get_inbound_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1194", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_inbound_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "planinboundsliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205", "weight": 1.0}, {"source": "pl_plan_save_inbound_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1205", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_delivery_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228", "weight": 1.0}, {"source": "pl_plan_get_delivery_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1228", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_delivery_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "plandeliverysliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239", "weight": 1.0}, {"source": "pl_plan_save_delivery_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1239", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_subpack_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262", "weight": 1.0}, {"source": "pl_plan_get_subpack_slip_template", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1262", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_save_subpack_slip_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "plansubpacksliptemplatesave", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273", "weight": 1.0}, {"source": "pl_plan_save_subpack_slip_template", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1273", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_ensure_subpack_slip_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1289", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1289", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1289", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1289", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "str", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1289", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_delete_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1310", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1310", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1310", "weight": 1.0}, {"source": "pl_plan_delete_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1310", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_api_pl_plan_py", "target": "pl_plan_get_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "str", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "dbusercontext", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_get_plan", "target": "plplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1349", "weight": 1.0}, {"source": "pl_plan_normalize_subpack_slip_no", "target": "pl_plan_format_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L128", "weight": 1.0}, {"source": "pl_plan_subpack_slip_no_seq", "target": "pl_plan_normalize_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L145", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "pl_plan_normalize_subpack_slip_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L156", "weight": 1.0}, {"source": "pl_plan_ensure_subpack_slip_no", "target": "pl_plan_subpack_slip_no_seq", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L177", "weight": 1.0}, {"source": "pl_plan_list_plans", "target": "planlistresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L327", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L367", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L372", "weight": 1.0}, {"source": "pl_plan_create_plan", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L374", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L451", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L453", "weight": 1.0}, {"source": "pl_plan_create_plan_full", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L456", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "pl_plan_generate_plan_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L571", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "pl_plan_determine_plan_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L574", "weight": 1.0}, {"source": "pl_plan_create_from_contract", "target": "plplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L576", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "planarrangeinforead", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L905", "weight": 1.0}, {"source": "pl_plan_get_plan_arrange_info", "target": "pl_plan_build_driver_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L922", "weight": 1.0}, {"source": "pl_plan_archive_plan", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1090", "weight": 1.0}, {"source": "pl_plan_update_plan_driver_feedback", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1151", "weight": 1.0}, {"source": "pl_plan_update_plan_site_feedback", "target": "pl_plan_get_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1185", "weight": 1.0}, {"source": "pl_plan_rationale_84", "target": "pl_plan_generate_plan_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L84", "weight": 1.0}, {"source": "pl_plan_rationale_120", "target": "pl_plan_normalize_subpack_slip_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L120", "weight": 1.0}, {"source": "pl_plan_rationale_153", "target": "pl_plan_ensure_subpack_slip_no", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L153", "weight": 1.0}, {"source": "pl_plan_rationale_447", "target": "pl_plan_create_plan_full", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L447", "weight": 1.0}, {"source": "pl_plan_rationale_833", "target": "pl_plan_patch_plan_product_certs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L833", "weight": 1.0}, {"source": "pl_plan_rationale_901", "target": "pl_plan_get_plan_arrange_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L901", "weight": 1.0}, {"source": "pl_plan_rationale_1015", "target": "pl_plan_cancel_plan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1015", "weight": 1.0}], "raw_calls": [{"caller_nid": "pl_plan_generate_plan_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L85"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L86"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L90"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "like", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L91"}, {"caller_nid": "pl_plan_generate_plan_no", "callee": "isdigit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L98"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L121"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L125"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L127"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L130"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L132"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "match", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L136"}, {"caller_nid": "pl_plan_normalize_subpack_slip_no", "callee": "groups", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L138"}, {"caller_nid": "pl_plan_subpack_slip_no_seq", "callee": "startswith", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L146"}, {"caller_nid": "pl_plan_subpack_slip_no_seq", "callee": "isdigit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L149"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L154"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "today", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L162"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "strftime", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L163"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L166"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "isnot", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L169"}, {"caller_nid": "pl_plan_determine_plan_type", "callee": "determine_plan_type", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L186"}, {"caller_nid": "pl_plan_get_plan_type_label", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L195"}, {"caller_nid": "pl_plan_generate_notify_message", "callee": "join", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L200"}, {"caller_nid": "pl_plan_list_plans", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L234"}, {"caller_nid": "pl_plan_list_plans", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L234"}, {"caller_nid": "pl_plan_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L235"}, {"caller_nid": "pl_plan_list_plans", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L242"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L243"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L244"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L249"}, {"caller_nid": "pl_plan_list_plans", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "lower", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L264"}, {"caller_nid": "pl_plan_list_plans", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L272"}, {"caller_nid": "pl_plan_list_plans", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L275"}, {"caller_nid": "pl_plan_list_plans", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L279"}, {"caller_nid": "pl_plan_list_plans", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L286"}, {"caller_nid": "pl_plan_list_plans", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L286"}, {"caller_nid": "pl_plan_list_plans", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L288"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L295"}, {"caller_nid": "pl_plan_list_plans", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L295"}, {"caller_nid": "pl_plan_list_plans", "callee": "fetch_hazard_flags_map", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L297"}, {"caller_nid": "pl_plan_list_plans", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L306"}, {"caller_nid": "pl_plan_list_plans", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L307"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L313"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L314"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L315"}, {"caller_nid": "pl_plan_list_plans", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L317"}, {"caller_nid": "pl_plan_list_plans", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L319"}, {"caller_nid": "pl_plan_list_plans", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L325"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L336"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L336"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L337"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "split", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L337"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L337"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L342"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L342"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L346"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "group_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L349"}, {"caller_nid": "pl_plan_count_plans_by_contract", "callee": "apply_pl_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L349"}, {"caller_nid": "pl_plan_create_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L364"}, {"caller_nid": "pl_plan_create_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L364"}, {"caller_nid": "pl_plan_create_plan", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L375"}, {"caller_nid": "pl_plan_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L418"}, {"caller_nid": "pl_plan_create_plan", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L423"}, {"caller_nid": "pl_plan_create_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L432"}, {"caller_nid": "pl_plan_create_plan", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L434"}, {"caller_nid": "pl_plan_create_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L436"}, {"caller_nid": "pl_plan_create_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L437"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "validate_create_full", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L448"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L449"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L449"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "assert_contract_selectable_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L450"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L457"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L494"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L501"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L502"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L506"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L511"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L512"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L521"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L522"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "apply_vehicle_prefill_to_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L525"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L535"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L536"}, {"caller_nid": "pl_plan_create_plan_full", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L538"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L557"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L557"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L561"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L561"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L566"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "assert_contract_selectable_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L568"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L577"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L590"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L592"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L594"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L609"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L613"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L623"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "PlPlanProduct", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L628"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "generate_uuid", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L629"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L645"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L647"}, {"caller_nid": "pl_plan_create_from_contract", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L648"}, {"caller_nid": "pl_plan_get_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L663"}, {"caller_nid": "pl_plan_get_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L663"}, {"caller_nid": "pl_plan_get_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L664"}, {"caller_nid": "pl_plan_get_plan", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L667"}, {"caller_nid": "pl_plan_get_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L667"}, {"caller_nid": "pl_plan_get_plan", "callee": "fetch_hazard_flags_map", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L676"}, {"caller_nid": "pl_plan_get_plan", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L684"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L690"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L691"}, {"caller_nid": "pl_plan_get_plan", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L692"}, {"caller_nid": "pl_plan_get_plan", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L694"}, {"caller_nid": "pl_plan_update_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L711"}, {"caller_nid": "pl_plan_update_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L711"}, {"caller_nid": "pl_plan_update_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L712"}, {"caller_nid": "pl_plan_update_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L715"}, {"caller_nid": "pl_plan_update_plan", "callee": "model_dump", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L718"}, {"caller_nid": "pl_plan_update_plan", "callee": "items", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L719"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L727"}, {"caller_nid": "pl_plan_update_plan", "callee": "collect_hazard_product_ids", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L734"}, {"caller_nid": "pl_plan_update_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L744"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L744"}, {"caller_nid": "pl_plan_update_plan", "callee": "resolve_hazard_flags_from_crm", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L751"}, {"caller_nid": "pl_plan_update_plan", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L759"}, {"caller_nid": "pl_plan_update_plan", "callee": "model_copy", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L764"}, {"caller_nid": "pl_plan_update_plan", "callee": "build_plan_product", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L773"}, {"caller_nid": "pl_plan_update_plan", "callee": "add", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L782"}, {"caller_nid": "pl_plan_update_plan", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L783"}, {"caller_nid": "pl_plan_update_plan", "callee": "collect_hazard_product_ids", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L785"}, {"caller_nid": "pl_plan_update_plan", "callee": "clear_hazard_cert_ready", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L787"}, {"caller_nid": "pl_plan_update_plan", "callee": "calc_plan_total_amount", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L789"}, {"caller_nid": "pl_plan_update_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L792"}, {"caller_nid": "pl_plan_update_plan", "callee": "sync_transport_prefill_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L803"}, {"caller_nid": "pl_plan_update_plan", "callee": "clear_draft_transport_for_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L813"}, {"caller_nid": "pl_plan_update_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L821"}, {"caller_nid": "pl_plan_update_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L822"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L834"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L834"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L835"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "update_plan_product_certs", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L836"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L843"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L845"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L845"}, {"caller_nid": "pl_plan_patch_plan_product_certs", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L853"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L866"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L866"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L867"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "set_hazard_cert_ready", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L868"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L875"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L877"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L877"}, {"caller_nid": "pl_plan_patch_plan_hazard_cert_ready", "callee": "model_validate", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L885"}, {"caller_nid": "pl_plan_build_driver_url", "callee": "rstrip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L891"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L902"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L902"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L903"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L910"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L910"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L921"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L925"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L925"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L932"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L938"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "build_transport_site_link_read_from_row", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L947"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L949"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L955"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L968"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L968"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L976"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L976"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L984"}, {"caller_nid": "pl_plan_get_plan_arrange_info", "callee": "build_transport_inventory_link_read", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L985"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1016"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1016"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1017"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1020"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1023"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1027"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1027"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "revoke_regeneratable_dibang_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1037"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1044"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "revoke_site_links_for_transport", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1045"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1057"}, {"caller_nid": "pl_plan_cancel_plan", "callee": "refresh", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1058"}, {"caller_nid": "pl_plan_archive_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1074"}, {"caller_nid": "pl_plan_archive_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1074"}, {"caller_nid": "pl_plan_archive_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1075"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1078"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1084"}, {"caller_nid": "pl_plan_archive_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1089"}, {"caller_nid": "pl_plan_archive_plan", "callee": "apply_archive_product_quantities", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1092"}, {"caller_nid": "pl_plan_archive_plan", "callee": "apply_archive_freight", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1096"}, {"caller_nid": "pl_plan_archive_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1101"}, {"caller_nid": "pl_plan_archive_plan", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1109"}, {"caller_nid": "pl_plan_archive_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1119"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1130"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1130"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1131"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "apply_plan_driver_feedback", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1132"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1139"}, {"caller_nid": "pl_plan_update_plan_driver_feedback", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1150"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1162"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1162"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1163"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "apply_plan_site_feedback", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1164"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1172"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "record_plan_change", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1173"}, {"caller_nid": "pl_plan_update_plan_site_feedback", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1184"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1199"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1199"}, {"caller_nid": "pl_plan_get_inbound_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1200"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1211"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1211"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1212"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1214"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1216"}, {"caller_nid": "pl_plan_save_inbound_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1219"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1233"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1233"}, {"caller_nid": "pl_plan_get_delivery_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1234"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1245"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1245"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1246"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1248"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1250"}, {"caller_nid": "pl_plan_save_delivery_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1253"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1267"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1267"}, {"caller_nid": "pl_plan_get_subpack_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1268"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1279"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1279"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1280"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1282"}, {"caller_nid": "pl_plan_save_subpack_slip_template", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1285"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1294"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1294"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1295"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1297"}, {"caller_nid": "pl_plan_ensure_subpack_slip_no", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1300"}, {"caller_nid": "pl_plan_delete_plan", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1315"}, {"caller_nid": "pl_plan_delete_plan", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1315"}, {"caller_nid": "pl_plan_delete_plan", "callee": "_get_plan", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1316"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1319"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1321"}, {"caller_nid": "pl_plan_delete_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1323"}, {"caller_nid": "pl_plan_delete_plan", "callee": "assert_row_deletable_by_creator", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1325"}, {"caller_nid": "pl_plan_delete_plan", "callee": "user_info_from_context", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1325"}, {"caller_nid": "pl_plan_delete_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1329"}, {"caller_nid": "pl_plan_delete_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1329"}, {"caller_nid": "pl_plan_delete_plan", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1335"}, {"caller_nid": "pl_plan_delete_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1335"}, {"caller_nid": "pl_plan_delete_plan", "callee": "commit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1341"}, {"caller_nid": "pl_plan_get_plan", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1351"}, {"caller_nid": "pl_plan_get_plan", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1351"}, {"caller_nid": "pl_plan_get_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1360"}, {"caller_nid": "pl_plan_get_plan", "callee": "assert_pl_row_in_scope", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py", "source_location": "L1361"}]}
\ 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 89b00022b..7bc0e88cc 100644
--- a/backend/graphify-out/cache/stat-index.json
+++ b/backend/graphify-out/cache/stat-index.json
@@ -1 +1 @@
-{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6698,"mtime_ns":1782790876685112837,"hash":"9d955a6baa70f78ddfcf29407d9711915a04e59a7f616254d06d25d25e8d0327"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345666495916,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2142,"mtime_ns":1781955922143413789,"hash":"f7a5b28b653aaf013aa0bbd1cdb43b11b2d131bb0f01347f05dd6e833a70ae4a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930807298966,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930808197763,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930810184774,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973062398026,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930808681891,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930808144846,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930808426681,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930810245983,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930808614098,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002126415047,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5164,"mtime_ns":1782688288640487823,"hash":"370a7c2b5de64c6b72f98bcf7fbbc166ba2a7f5673c6e1426b10bcc88220bb27"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":13494,"mtime_ns":1782688282110301693,"hash":"65b273c69d4271e43f64cf1c18194161a540b8b4d96f0fddf664a7f01c029350"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5537,"mtime_ns":1782688289303121533,"hash":"f4edc5824466d0096b3b70aeea7b4460a9fa54ca0929421759b625b60c56c505"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281816798167,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930726090799,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930725878047,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282481859519,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282878700273,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6525,"mtime_ns":1782688288935534527,"hash":"a7bf593eff76d08b338f48f9a035fa1493f4ca88867bf9fdf4e9af06b6165759"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354647000111,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5418,"mtime_ns":1782688289691482227,"hash":"5bd3fd93c60956dab0268e9f4e6cf315d0a9c9656d649f4abb40858ba1d32911"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":1012,"mtime_ns":1780108930727448890,"hash":"7de1eb94b9fbb897a7b362ffdb5df5ab1020aa7247c7c37a2a2a2aa5cdbac8ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290021142467,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6604,"mtime_ns":1782688283203296227,"hash":"ebb38fcd527fdac4dcbf0632ac926e4cbe95dddb5fab79c3142b010e7a48ea7e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930726010257,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678100096646,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":10521,"mtime_ns":1782790854867576143,"hash":"a390b8d972bc8396a229437c3d41cb1c1b59fcbe8703c3ad941dcf93a9456794"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649232229595,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854866245387,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50055,"mtime_ns":1782855138852859245,"hash":"a5e74057222e3359f6077b2fd05b2db4d058ec2702243cc449bff8d448d44a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854865038715,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854865571301,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930810395025,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992914903818,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":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":64407,"mtime_ns":1782853112731239708,"hash":"be8cdc5ad527073abc08a9792b243ca6f68f11bb870aa8df3fb5c3f8bf1498a5"},"/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":7800,"mtime_ns":1782853111922556914,"hash":"4fc5d8c71b1436b49694727543255d3849bbb7ea07c11c7dd858edf58f613b66"},"/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":25852,"mtime_ns":1782853124084966567,"hash":"ec9fc66a2fbc240fdbb026349c2118d7b7243b61f789a22efdd51e0a0016c8f6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":145670,"mtime_ns":1782853126280467400,"hash":"b22b57b7386bd377244de5278b5dcd9f1947ef3bb39060c6b7232e577e20dc8b"},"/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":8816,"mtime_ns":1782687680547203228,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665525772610,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":23825,"mtime_ns":1782687664490640155,"hash":"5d8934ae6318de87b0761686fe491a7ec2be02792a85d84308c383af3193fa8a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664918872966,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410245078685,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410215906642,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237342131933,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310467813967,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386885207867,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":1584,"mtime_ns":1780201410212966513,"hash":"9349799b02a3531d8e1b46f9f70d3b6630afd7306663c779bd11f25448a16013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666050313280,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127112297110,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10565,"mtime_ns":1783253725603119242,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666592409903,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":92394,"mtime_ns":1782687678129879389,"hash":"94aff4b2d4280f4ba4be9cefd386acdcc1a606ae46b205cd475f4ceb8220c3c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127108406092,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353340106185,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127112307360,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352542520022,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854865860510,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022189075651,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674053739962,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705954031080,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305846991404,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":9943,"mtime_ns":1782687669552122617,"hash":"ada0cb556b6136f01ce775dc506fdc4949c7e95bacc39403061e3926678d6ce7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669972916544,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830255260394,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127043319167,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127113233948,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":3679,"mtime_ns":1780242127112269527,"hash":"8b797e9dee6ac7ff806a8ea23bef5fedce648502ea23287e1b417e9f96d22c2e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":6916,"mtime_ns":1782687684650105460,"hash":"0b66714e36609688f7ce79ecda0679d20df115d2d64a0dff1cc0fc76df7dca6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13126,"mtime_ns":1782650413581368849,"hash":"cd2fc23852ead3c4db19e34bc33c1560fc5f5d4cd7cf51b61def8bf37c44c853"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":5961,"mtime_ns":1780745856749183842,"hash":"29c52786df396aededd0850e3c8a3a36f3fb6a952af03adbe1768dae212b6804"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48137,"mtime_ns":1782687675213433843,"hash":"a2ff5c5b74a2becd0949aab6aea8cf63440cce2c0bb22e1a1661463e0b2e963d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":10537,"mtime_ns":1782687676011228777,"hash":"57d9d5b4fc2bc8b68c0388a4b8a9c1322539ed7e538764fc23521916429e07c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254630170341,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314936479798,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127112382277,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":25776,"mtime_ns":1782650290493703925,"hash":"af61d162153064ffff1e5982a6cf2ee32eeaa503c9d7cccdb2b450d2a852fd92"},"/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":29608,"mtime_ns":1782699376518851883,"hash":"3aca5dc6967cdc9053acdbf2e77492ee1f2bc051bee1bb8975a7902fddf310df"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_template.py":{"size":2897,"mtime_ns":1780229101351431207,"hash":"935adfc7659e31201cd83ba8387bf6abcb39e7cdc63fa4692d699ed874cf113b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_change.py":{"size":2496,"mtime_ns":1780229100306468735,"hash":"05af42f088f6cc400c1e3445d4a2c96670edf482328b361aa4f231230d958729"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_template.py":{"size":11858,"mtime_ns":1780229131746659196,"hash":"b9bdbe6a33c933aefcb25cc57e94b2fd2dc75f8e5822434f3912aa0153dfca00"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_change.py":{"size":15985,"mtime_ns":1780229123819597506,"hash":"771b110d3d136c45106dd61171c724c559b5b4bf572ea7b8c2b648f0bfe629c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354912882614,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602888987090,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780925056463,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":947,"mtime_ns":1780750556881768980,"hash":"2bbe961ad71f0be530f10d515b69615dbf887257028e339d4252b9ff2a5aba2b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396630684570,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16644,"mtime_ns":1782003187247224106,"hash":"37c7372f38d76f1020d31ce8ca9e7f0cb3bc3c204a50deb092b494ce8c983fbf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556881734563,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187605255900,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":777,"mtime_ns":1780751360180065853,"hash":"3525eb716c238682a07a116818d318b8a494fb24b9cefca5114d30bc50d095a5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293668634639,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293973889288,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913604714906,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913326708063,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4366,"mtime_ns":1782650887981843546,"hash":"15321fe1df77a555af579474434e3b401bd042555d19ea81a066ef754915612b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594045301798,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5446,"mtime_ns":1782650919964956073,"hash":"1d72733147e0ed997094d7f92d1c1f5e1e108093a50e8e523b3b016c3dd676e4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3931,"mtime_ns":1782687617846731919,"hash":"dba80b8f4e26bc59efd2b2aad6bd430c0315133a98bfbbe1b93113b60baba8b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871480000584,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296833335474,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898570675189,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":12948,"mtime_ns":1782650889956458001,"hash":"77c095afa461633e94b53251a56e21eed062e782f3840e3c45cf236455a8a08e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868959755751,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":23511,"mtime_ns":1782650816661262992,"hash":"d1bb54d59a883c55557452136a90d9fd84b48723ccc20e1d21df5cbac8a86b6c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3656,"mtime_ns":1780750869826924187,"hash":"ac98980bd5b6cbab6a9394b6debc678b050cf4df969eccbc5f2d419b615937cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":5638,"mtime_ns":1782688293517624966,"hash":"aa47d8e87982a4077ff067dff2955db9eb67171d6368bc636c1eea17ea7682f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":14335,"mtime_ns":1782650896565026655,"hash":"55870f2bc8915bde300170a348ad618b643b9f336a31db9bf696c5a91c3d34e8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":31828,"mtime_ns":1782650853672299046,"hash":"90c00fb41db1ce773bc614733537e1b482668371e5dba718d49183a8ea1d68bc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15489,"mtime_ns":1782650926105833811,"hash":"75dec97c786b6f8de40eab585afc22e78c0522146a98471fde00913d21191bc6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200904804714,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570945208920,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200096708592,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614160787709,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py":{"size":2754,"mtime_ns":1780802262496001324,"hash":"d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py":{"size":591,"mtime_ns":1780802980783200520,"hash":"d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619867600032,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py":{"size":3780,"mtime_ns":1780802985736476363,"hash":"aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py":{"size":4776,"mtime_ns":1780802999039302982,"hash":"cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py":{"size":1788,"mtime_ns":1780803836065964235,"hash":"30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py":{"size":4167,"mtime_ns":1780803836065953735,"hash":"acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py":{"size":9619,"mtime_ns":1780803836065902943,"hash":"e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":3948,"mtime_ns":1782219604456801044,"hash":"19ea80e59a1309518ad6183a6b0b8751401f4724d7b5101d47defc2417ec36c8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16423,"mtime_ns":1783156035144390497,"hash":"901602a8fe362aec9b89ac6f2ee578f1eeb105fcf12a1a6c3ff4ef98f4ad1ef3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py":{"size":10663,"mtime_ns":1780803878293678536,"hash":"e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5347,"mtime_ns":1780935341753643087,"hash":"f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":14940,"mtime_ns":1782687688848020877,"hash":"71d143eb05d0d3f785f5962892bde64dee3c2937139c975b52af62628f308d46"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py":{"size":24042,"mtime_ns":1780804029884092079,"hash":"bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853674329877,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":4876,"mtime_ns":1780935329287069452,"hash":"474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py":{"size":619,"mtime_ns":1780925759582999052,"hash":"6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py":{"size":4748,"mtime_ns":1780925781827569662,"hash":"8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17098,"mtime_ns":1783156035873015369,"hash":"bd2c8344e2ab765ceb2a2c91f5cf2facea319ae66c9097f5468a7f5d753b67dd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6955,"mtime_ns":1782219619253708711,"hash":"b9e97f66a0a248d06c2f960c3f5ac4fb3369cc976c16709227dee0cc1513d221"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818442134500,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990870580151,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340330906738,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095845033710,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092108105489,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400833764213,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102157096922,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1782011225157870526,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632326984469,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268573313971,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647395760353,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":59696,"mtime_ns":1783253795100934151,"hash":"f5c7331ac24c285b41fa1de05ae30c0bb2edfc000274285ff39a3b03d24c411c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":20947,"mtime_ns":1783253807051149413,"hash":"c2a14b4fcdd477440e67de01ec7cfff6eeac5f41f7e7025405b4211897f9e2ff"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":17945,"mtime_ns":1783211732481443217,"hash":"477ebd0c4c084cf8bccd10865e4703b6b34829d30b791c32232d96c1bac2947f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582112287271,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11275,"mtime_ns":1783213205154827373,"hash":"557f9e9f06ab6f18eb33f54a579fb8ab0f6992d9b25bb530a2ec49d5b2365708"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7742,"mtime_ns":1783242580346813026,"hash":"9b57e84bea4844ce93220773544064ed6979c5823b07831bc5fe734b6dc860d3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":44769,"mtime_ns":1783253803749593322,"hash":"1aeb96f6821b24ccec56cfd8886ae7ccf2a621fd601ef282b4f2c3fb6e9ecaa1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":33087,"mtime_ns":1783155250374329483,"hash":"6f7703d37ce761406d42f3be4e53ee85be0d3e43e5b880401087dde47ec6608f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1101,"mtime_ns":1782906547209355917,"hash":"45ac3c724e847705627547cf445804bba03009398ef13ff261827739bc6d052c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10545,"mtime_ns":1782788621300068361,"hash":"6e153316ea3aa04c64aa8ccfdafc43e7c9bbb975f5d2ead10670a71b01a7a5e4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":30218,"mtime_ns":1782831664104134981,"hash":"885b8fdc78c77b2bf6bae5aaf34438d4a7f12fb700947cf09fc3aafa26c2ae1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13188,"mtime_ns":1783242583174353699,"hash":"da03959cdab792ef503edae6ee27e45f9b5a8db1c63cdbcd97bafa85acc9be71"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510604174541,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":19028,"mtime_ns":1783176696454215658,"hash":"f8dcd38bdbc153d5b6121221a12b188bed82d65d50ff7dfd507161b121496eeb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6353,"mtime_ns":1783239403847864893,"hash":"f3e204c917284ed36178f347ec450168a75db863d281d331aafab83f57b887d0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7061,"mtime_ns":1783208066037768183,"hash":"3b76d02f52bfe170f411f4140be6ce8cd9bad75a0ddadd97bfd8bed3817b7a7f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":34219,"mtime_ns":1783253802121185813,"hash":"70346b0a6436b88eac77e12e9d5405d2aea071d5816c672281bb06ba6531a2d6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":9697,"mtime_ns":1783209147246415813,"hash":"aac3cfd1a30df824d1a4867c5b358e3155e19a051dbaffbae89c995b55767a8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":12594,"mtime_ns":1782227851746783133,"hash":"f8629d807f7e4fcf21530e1660125d93a2b422110a780896ff97d7aa99382a41"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660985345577,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898570930774,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276143253698,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":8470,"mtime_ns":1783211738132414332,"hash":"08745e00bfa7bd756fbeef7ae7a1d3bf957d6403da51cf7825def02a38502d01"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460524562610,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248175867714,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204589333188,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048011371782,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/zlwu/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356701497576,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085670691361,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163950860693,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231443625388,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279067732462,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506729785291,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517176615737,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938092205819,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142571517234,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610196676295,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611517772849,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":3543,"mtime_ns":1783176693363348324,"hash":"509689b7b4600ecf70ff6ba59967699af8848edc3cfb3b95ed1c615acb76e33e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169098881801,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867411719704,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22549,"mtime_ns":1782694172247240480,"hash":"4b40ddf0c8b1abcaa002bdb29411120c54c500067e2c0c9bad83638c06f12c56"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447503836332,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447583143336,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23216,"mtime_ns":1782695447519129687,"hash":"0c1e630117fede22616c445ea1348e75546f20932900a6a6551d840340b82ce9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196169930337,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220189638136,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213546483763,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254052728785,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326717654441,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327268762002,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834895168051,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446819247296,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450356380638,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360746020898,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539731495489,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6875,"mtime_ns":1782907484528042124,"hash":"7880a37b53dc2e88534ca5750097792ee7e893c94d87bf1eecd8b6055fbba181"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000967398,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586212866839,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958449266456,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744737524455,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340132373787,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697391655899,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793703960795,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"}}
\ No newline at end of file
+{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6698,"mtime_ns":1782790876685112837,"hash":"9d955a6baa70f78ddfcf29407d9711915a04e59a7f616254d06d25d25e8d0327"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4ea2fe128de80fe321b0c3c531fea7a88"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/models.py":{"size":36012,"mtime_ns":1782699345666495916,"hash":"01f974f182660ec4f215bcacc31eddadd7899d60d95aa19a61046579a994512a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/__init__.py":{"size":2142,"mtime_ns":1781955922143413789,"hash":"f7a5b28b653aaf013aa0bbd1cdb43b11b2d131bb0f01347f05dd6e833a70ae4a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/base.py":{"size":2090,"mtime_ns":1780108930807298966,"hash":"fda71bbe87dcb29c6f0ffa9337e9f39c2c06d912df6cb75d521f0e87c7c73c6d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/auth.py":{"size":1315,"mtime_ns":1780108930808197763,"hash":"018b82e42bbb055250549c54ba700ee01cf28cd753397d6c162f9e60185908e5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/user.py":{"size":1911,"mtime_ns":1780108930810184774,"hash":"3d3c159018cab6ed1cd3de7034ffb1fe77a272b9099901a1882d07aa15fc90a0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/__init__.py":{"size":1159,"mtime_ns":1780112973062398026,"hash":"4e8b0bda6680e2c8740c380b96eedb859ddc584a81bad568a18ba6beb001e480"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/menu.py":{"size":816,"mtime_ns":1780108930808681891,"hash":"17e35f2d7bf95cac00d81357f69fdcbe849e855daa05570c3302de8182b4df11"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/attachment.py":{"size":328,"mtime_ns":1780108930808144846,"hash":"300b74c51c66cb0fbf8c9f4d84a4b7bf29dcc9b6a67d922f8e1d0df05f9fc5bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/common.py":{"size":555,"mtime_ns":1780108930808426681,"hash":"caa0c03398e54017b25cca2a16cf8d232a59739893a16e4c33b51a5316d8964f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/workflow.py":{"size":3949,"mtime_ns":1780108930810245983,"hash":"e5aed7afcf903c838a35cdaf2230a93d221c63f5c6baa1497e455afac8587a9a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/leave.py":{"size":1449,"mtime_ns":1780108930808614098,"hash":"c54098a69bd4490290dd8d7809ed8764a3f38e8c38692eeef2b505293cdfaeb8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/sample_code.py":{"size":12322,"mtime_ns":1780114002126415047,"hash":"5b74838b3920f9182d092f8a1b721697f1a62e8b90728b9f54101dbb96baa40e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/post.py":{"size":5164,"mtime_ns":1782688288640487823,"hash":"370a7c2b5de64c6b72f98bcf7fbbc166ba2a7f5673c6e1426b10bcc88220bb27"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/user.py":{"size":13494,"mtime_ns":1782688282110301693,"hash":"65b273c69d4271e43f64cf1c18194161a540b8b4d96f0fddf664a7f01c029350"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_type.py":{"size":5537,"mtime_ns":1782688289303121533,"hash":"f4edc5824466d0096b3b70aeea7b4460a9fa54ca0929421759b625b60c56c505"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/tenant.py":{"size":5659,"mtime_ns":1782688281816798167,"hash":"0192db8ac9c3de42fe8ee58324c77111e152bf4c35fd15c0b16467fe243712f0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/biz_no_generator.py":{"size":2534,"mtime_ns":1780108930726090799,"hash":"e6bd375987e47f6ee80294686db64377938a286767bb28324f3eda2ad39ad546"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/__init__.py":{"size":169,"mtime_ns":1780108930725878047,"hash":"340e3c08174d61829012879e684f6166803b88c819c58b54a16a11d210dea85e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/role.py":{"size":9417,"mtime_ns":1782688282481859519,"hash":"008550fe8efce5310afd3d41d944cee4b68d71763a587583f8832855480477f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/menu.py":{"size":7600,"mtime_ns":1782688282878700273,"hash":"36951a77088782d80500bfa6266b46a564a670e10b70af7a28cdee8c50741098"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/site.py":{"size":6525,"mtime_ns":1782688288935534527,"hash":"a7bf593eff76d08b338f48f9a035fa1493f4ca88867bf9fdf4e9af06b6165759"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/api_request_log.py":{"size":4562,"mtime_ns":1782699354647000111,"hash":"f233bde579c4f6c7f2fd6030878c5946fb5dd5e247efaf4fe80d3f48622c19a8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dict_data.py":{"size":5418,"mtime_ns":1782688289691482227,"hash":"5bd3fd93c60956dab0268e9f4e6cf315d0a9c9656d649f4abb40858ba1d32911"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/ethnic.py":{"size":1012,"mtime_ns":1780108930727448890,"hash":"7de1eb94b9fbb897a7b362ffdb5df5ab1020aa7247c7c37a2a2a2aa5cdbac8ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/workflow.py":{"size":25052,"mtime_ns":1782688290021142467,"hash":"6ca7e3b79e91356a050592b768d7a6749e1bfdb2841a208c7235899603368aec"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/dept.py":{"size":6604,"mtime_ns":1782688283203296227,"hash":"ebb38fcd527fdac4dcbf0632ac926e4cbe95dddb5fab79c3142b010e7a48ea7e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/base.py":{"size":5360,"mtime_ns":1780108930726010257,"hash":"49fdea023825ea249923b1cb02d353dcede1850158d3555a2082887925e69b9b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/leave.py":{"size":4765,"mtime_ns":1782687678100096646,"hash":"847095009bddac2d77dcbb485bcc57cbe168ff874989c197f49f2a28675d2525"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/public.py":{"size":10521,"mtime_ns":1782790854867576143,"hash":"a390b8d972bc8396a229437c3d41cb1c1b59fcbe8703c3ad941dcf93a9456794"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/__init__.py":{"size":665,"mtime_ns":1780804649232229595,"hash":"f720195209c1783d8b2526220a086c2ae2769d76a12bd7df74136f5432c7b75f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/menu.py":{"size":30932,"mtime_ns":1782790854866245387,"hash":"4e9de047e67ff365d17ac28d30e1baa72cfa3c651caa1b9776e225fc07da0e58"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/admin.py":{"size":50055,"mtime_ns":1782855138852859245,"hash":"a5e74057222e3359f6077b2fd05b2db4d058ec2702243cc449bff8d448d44a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/workflow.py":{"size":21202,"mtime_ns":1782790854865038715,"hash":"3950dd8d9855f5ed33a0e15883f7e442c4e26bc51672209b1e68ce0d0c9ce399"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/leave.py":{"size":6916,"mtime_ns":1782790854865571301,"hash":"6e03239433bbaecc54f72fa2aba2578573ae6c7fc881f287ef57dafed1a0f1b5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_callback.py":{"size":3584,"mtime_ns":1780108930810395025,"hash":"a033c13c7bee7f4b636198c1efa47f2abba0d890657e52b0b7057568d4d83a52"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_engine.py":{"size":14042,"mtime_ns":1780113992914903818,"hash":"5c06a59c734f598d5c7ebe95d30f048ba3a97302b938bc9320d97e5a053c7aef"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/web_auth_roles.py":{"size":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":64407,"mtime_ns":1782853112731239708,"hash":"be8cdc5ad527073abc08a9792b243ca6f68f11bb870aa8df3fb5c3f8bf1498a5"},"/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":7800,"mtime_ns":1782853111922556914,"hash":"4fc5d8c71b1436b49694727543255d3849bbb7ea07c11c7dd858edf58f613b66"},"/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":25852,"mtime_ns":1782853124084966567,"hash":"ec9fc66a2fbc240fdbb026349c2118d7b7243b61f789a22efdd51e0a0016c8f6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm.py":{"size":145670,"mtime_ns":1782853126280467400,"hash":"b22b57b7386bd377244de5278b5dcd9f1947ef3bb39060c6b7232e577e20dc8b"},"/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":8816,"mtime_ns":1782687680547203228,"hash":"779f7f46e7ef8bfba27390d56fa071dfd3a8446d9d3b3361003b1c239f7169aa"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_follow.py":{"size":8121,"mtime_ns":1782687665525772610,"hash":"ec67fc7667847017a8d8b5a276f5c75328bda7fa360746d80c7890de3f6d4b76"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer.py":{"size":23825,"mtime_ns":1782687664490640155,"hash":"5d8934ae6318de87b0761686fe491a7ec2be02792a85d84308c383af3193fa8a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contact.py":{"size":10482,"mtime_ns":1782687664918872966,"hash":"f4e3a684dd7a6c7c927e10e8e1e0c108c151b963777b85c5b74d7e7871f3a438"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/generate_dict_reimport_sql.py":{"size":10692,"mtime_ns":1780201410245078685,"hash":"a4faaf61f246dad04ec3933083ab4348e5d2987ae1ed34b1f6d8f19535642a05"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/statistics.py":{"size":412,"mtime_ns":1780201410215906642,"hash":"fb1957d0fe87f22c37ba5bdaa5f3bf2bb4a40685a21a05dce98326581bb4844b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/customer_pool.py":{"size":3725,"mtime_ns":1780202237342131933,"hash":"0f26ac2bcb585241f25302787184db4db422934e5d896ca25bbe7efaf61d92c4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/statistics.py":{"size":5642,"mtime_ns":1782649310467813967,"hash":"f954dc5479f42a52fdb3f05ad9076fdbe43e569bae85299fca6c8f37c7323cde"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/invoice_info.py":{"size":3104,"mtime_ns":1780406386885207867,"hash":"a59df3aed2c976904e3b5325fedd1621435b322645aa71349f3356e0cdc17424"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/oss.py":{"size":1584,"mtime_ns":1780201410212966513,"hash":"9349799b02a3531d8e1b46f9f70d3b6630afd7306663c779bd11f25448a16013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/invoice_info.py":{"size":7446,"mtime_ns":1782687666050313280,"hash":"e0f2069c43cd272e5f061d30b47a42140ac37aa26379985fc781f8a3851aa44d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/opportunity.py":{"size":9391,"mtime_ns":1780242127112297110,"hash":"2e068961824a1d3ec0da0a94a3c494b63582b3251e5f4e030ce3e12897e85002"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py":{"size":10565,"mtime_ns":1783760882042953138,"hash":"45d9dfeb58bda22227fcd242c738086431616466bb8ee9f1466927d75d4bec48"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity.py":{"size":42231,"mtime_ns":1782687666592409903,"hash":"75f54438002e070076fe37ec2211c5fd67bf4aebd2607ac94db15e30d6f634d8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract.py":{"size":92394,"mtime_ns":1782687678129879389,"hash":"94aff4b2d4280f4ba4be9cefd386acdcc1a606ae46b205cd475f4ceb8220c3c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/__init__.py":{"size":1,"mtime_ns":1780242127108406092,"hash":"bb5b318d3cb224c50a2e0286e145f89ea7278437437fd17d7c865d67ad148076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/monitor/operlog.py":{"size":1069,"mtime_ns":1782699353340106185,"hash":"b9f0a382f8990f69391b26bb75b4538d141d6adadc4260fecaa8b33cb44c063d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/__init__.py":{"size":1,"mtime_ns":1780242127112307360,"hash":"0592c62ce1172d93aca98cbd9aaa54b9c2668022abf3581249516472db312293"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/monitor/oper_log.py":{"size":6673,"mtime_ns":1782699352542520022,"hash":"0586702734f693ee099af38d407c71cc0a840153f93174699c5a5201e0a9acbe"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/monitor.py":{"size":2789,"mtime_ns":1782790854865860510,"hash":"5c13164e49d7ecb6836cf8e65a705fccd518399b85d3be2318c9581a98bacd51"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/clue.py":{"size":9417,"mtime_ns":1780215022189075651,"hash":"2676afaecac4bb6da185674a9421dfbd40834ca21520adf66bb6b175fb728677"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_follow.py":{"size":8493,"mtime_ns":1782687674053739962,"hash":"54881f876d1842ee4a344d049ea4b5bac18b243535338077cb3eb3ec8b60e9c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue.py":{"size":25820,"mtime_ns":1783155705954031080,"hash":"3526af7e7e79d505911690355890ccdb3a1c30d302534ffdc8626a454cc2499b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/clue_statistics.py":{"size":11229,"mtime_ns":1782649305846991404,"hash":"fbc3b4f3356256787839cc5b2a6f8dff41dcf9eb27c791e427e816e3ba14e094"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_follow.py":{"size":9943,"mtime_ns":1782687669552122617,"hash":"ada0cb556b6136f01ce775dc506fdc4949c7e95bacc39403061e3926678d6ce7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/opportunity_product.py":{"size":10346,"mtime_ns":1782687669972916544,"hash":"40b497a41ce4003e128dc305abedc54e01dbaad8a8f7bc1ecec1662a3953a1ed"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py":{"size":9594,"mtime_ns":1780743830255260394,"hash":"b20594507aab09cebc3d540acad04547bf780cac9c885187138f5d64718ed513"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/__init__.py":{"size":0,"mtime_ns":1780242127043319167,"hash":"a66deceefc987198863f61b8aa1b5715483a69c4a15ef47cd5586c5d8e429b97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/excel_export.py":{"size":4411,"mtime_ns":1780242127113233948,"hash":"7fbde3fca845e4705487e7f801caee308bcc0c99a9da7d0c99681a96eaaf6076"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/supplier_info.py":{"size":3679,"mtime_ns":1780242127112269527,"hash":"8b797e9dee6ac7ff806a8ea23bef5fedce648502ea23287e1b417e9f96d22c2e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/supplier_info.py":{"size":6916,"mtime_ns":1782687684650105460,"hash":"0b66714e36609688f7ce79ecda0679d20df115d2d64a0dff1cc0fc76df7dca6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_product.py":{"size":13126,"mtime_ns":1782650413581368849,"hash":"cd2fc23852ead3c4db19e34bc33c1560fc5f5d4cd7cf51b61def8bf37c44c853"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/quote.py":{"size":5961,"mtime_ns":1780745856749183842,"hash":"29c52786df396aededd0850e3c8a3a36f3fb6a952af03adbe1768dae212b6804"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote.py":{"size":48137,"mtime_ns":1782687675213433843,"hash":"a2ff5c5b74a2becd0949aab6aea8cf63440cce2c0bb22e1a1661463e0b2e963d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_product.py":{"size":10537,"mtime_ns":1782687676011228777,"hash":"57d9d5b4fc2bc8b68c0388a4b8a9c1322539ed7e538764fc23521916429e07c5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_share_log.py":{"size":4277,"mtime_ns":1782650254630170341,"hash":"5bfbf7ce2918f9ecdbbca6fdce17d200cd52cdc71b2dfb44ac126a36ca0ed734"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/quote_approval.py":{"size":8816,"mtime_ns":1782650314936479798,"hash":"736353b8c2c5073d260e007a166234bd7d57958bcc738c56a1d39cfb22381180"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/crm_quote_pdf.py":{"size":9877,"mtime_ns":1780242127112382277,"hash":"fec04892fccccc3601fbeb012c92c77110496910be44102de40b4610148fa58a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_quote_routes.py":{"size":25776,"mtime_ns":1782650290493703925,"hash":"af61d162153064ffff1e5982a6cf2ee32eeaa503c9d7cccdb2b450d2a852fd92"},"/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":29608,"mtime_ns":1782699376518851883,"hash":"3aca5dc6967cdc9053acdbf2e77492ee1f2bc051bee1bb8975a7902fddf310df"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_template.py":{"size":2897,"mtime_ns":1780229101351431207,"hash":"935adfc7659e31201cd83ba8387bf6abcb39e7cdc63fa4692d699ed874cf113b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract_change.py":{"size":2496,"mtime_ns":1780229100306468735,"hash":"05af42f088f6cc400c1e3445d4a2c96670edf482328b361aa4f231230d958729"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_template.py":{"size":11858,"mtime_ns":1780229131746659196,"hash":"b9bdbe6a33c933aefcb25cc57e94b2fd2dc75f8e5822434f3912aa0153dfca00"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/contract_change.py":{"size":15985,"mtime_ns":1780229123819597506,"hash":"771b110d3d136c45106dd61171c724c559b5b4bf572ea7b8c2b648f0bfe629c1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/crm_contract_sub_routes.py":{"size":25165,"mtime_ns":1782650354912882614,"hash":"b2733fd74cb7e6cbe6518fc5a5700e387601afc087be09f395f3c61372099847"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/attachment_biz.py":{"size":1122,"mtime_ns":1782219602888987090,"hash":"fb9fea8983524e3891357016b6546d982c4a82cb782fc01425f70472d4338b6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/bx_auth.py":{"size":1473,"mtime_ns":1782650780925056463,"hash":"678d9ff99b5c89575ef47e5c9e61d495f364917fd6cfb2b322c4d5035d3ba359"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py":{"size":2363,"mtime_ns":1783745556349035158,"hash":"e8b487a9bb4072356cae7b1b38496c441f9a1534d6807798448e6de97073d669"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_codegen.py":{"size":4679,"mtime_ns":1782003396630684570,"hash":"bc3f798cfbc359e0327d72e3c0513fe9cbaee196d0d85bcf6567cf5df4211d97"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/bx_models.py":{"size":16644,"mtime_ns":1782003187247224106,"hash":"37c7372f38d76f1020d31ce8ca9e7f0cb3bc3c204a50deb092b494ce8c983fbf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/__init__.py":{"size":81,"mtime_ns":1780750556881734563,"hash":"07c3422f745afbff1c8162b3782fbb4b8de65084e7e9bbcf45abb9d433d65f98"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/common.py":{"size":1547,"mtime_ns":1782003187605255900,"hash":"a75ca6a0d92f93408eee00cc5053206d28a545512e4cd0f186be9e00e3346ab1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/__init__.py":{"size":777,"mtime_ns":1780751360180065853,"hash":"3525eb716c238682a07a116818d318b8a494fb24b9cefca5114d30bc50d095a5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/expense_item.py":{"size":1668,"mtime_ns":1782688293668634639,"hash":"ac07c7b05fe990e743dd5b4e96a85b59431479ca11b98cce7c340a93dbe99ce1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/workflow.py":{"size":1677,"mtime_ns":1782688293973889288,"hash":"f683e5bb7a45d0bae3b3f262c201453155eaaaf2c8d7f14f567a14295a68d2e1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py":{"size":3362,"mtime_ns":1782650913604714906,"hash":"c6a142011870516822cf11cff16a86c56908f00680eb7c6219c8441c9b63632a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py":{"size":4984,"mtime_ns":1782650913326708063,"hash":"84285aab7499ce9280156c5814b2dc4fff42841803dd673cc6bfdc6eed498283"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py":{"size":4366,"mtime_ns":1782650887981843546,"hash":"15321fe1df77a555af579474434e3b401bd042555d19ea81a066ef754915612b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/__init__.py":{"size":34,"mtime_ns":1780750594045301798,"hash":"583b12a6d2c9fd4411b652741e73324df9256138946ee873a0ed03169f8dae2a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/workflow.py":{"size":5446,"mtime_ns":1782650919964956073,"hash":"1d72733147e0ed997094d7f92d1c1f5e1e108093a50e8e523b3b016c3dd676e4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/base.py":{"size":3931,"mtime_ns":1782687617846731919,"hash":"dba80b8f4e26bc59efd2b2aad6bd430c0315133a98bfbbe1b93113b60baba8b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/attachment.py":{"size":525,"mtime_ns":1780750871480000584,"hash":"f287214c72345e41d9d122ca55b4d3e279635d99cbf10ed530de0ac32374f31c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/advance.py":{"size":4603,"mtime_ns":1782688296833335474,"hash":"74b6e8bf6906518f80f16f218f1af74d2c356a6f392a4e8a69466f4179ce0b92"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/attachment.py":{"size":5758,"mtime_ns":1782790898570675189,"hash":"e88b9181e7c1a839074656ce2260cd6f693821402a24f08dd1c0ef3c160f8fa8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py":{"size":13370,"mtime_ns":1783745567004734594,"hash":"3097a75d86d09951d7de7df10a32f5aedcf6ce11279bdf6dfe0005ec9d8a7be1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/attachment.py":{"size":4582,"mtime_ns":1782650868959755751,"hash":"3a6480cd051bd1af733a67e5babcd64f3f74cbe230d72364b599cde8b0c67a5f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py":{"size":24037,"mtime_ns":1783746967707088251,"hash":"4834348d099b32b70d14e1b56279dbb385f42519646351d8cb220da8c5fe27f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/storage.py":{"size":3656,"mtime_ns":1780750869826924187,"hash":"ac98980bd5b6cbab6a9394b6debc678b050cf4df969eccbc5f2d419b615937cd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/bx/reimburse.py":{"size":5638,"mtime_ns":1782688293517624966,"hash":"aa47d8e87982a4077ff067dff2955db9eb67171d6368bc636c1eea17ea7682f1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py":{"size":15431,"mtime_ns":1783747621462206303,"hash":"dae4bfc4be69ca2f3ee8fd2e9e3bd6053a2904c8f7a0c83e536f2dd71874f918"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py":{"size":34743,"mtime_ns":1783747614591546341,"hash":"ba8f3ff0304a6668bde3c2e6c3e15427153389f7320b943fb261d1d947b41d1e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py":{"size":15715,"mtime_ns":1783745581266319098,"hash":"0d0b8823013a63f91baee0ea19b56f203e70fb1e450f873cfeb634a6cd017f54"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/approval_cycle.py":{"size":1296,"mtime_ns":1780758200904804714,"hash":"308c087d94ac253bfc7e2d5455a06ae8ceac034adda41b5c61dd315dc167efaf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/db_models.py":{"size":8110,"mtime_ns":1782219570945208920,"hash":"249bb0971c263436095a6324457557b6ac5cfc3ca5ac9bc9499a9b4cd21d42bf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/__init__.py":{"size":544,"mtime_ns":1782011200096708592,"hash":"822060230e155b8704feb447b908c226d4c53e62b3e6df65c89dc3c7a0e6e07f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/__init__.py":{"size":0,"mtime_ns":1780805614160787709,"hash":"2cb780fb722e6dbf2ecea6f6fc19345fb453e1a3c40694ba0ff7465eb7cf7d33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/base.py":{"size":2754,"mtime_ns":1780802262496001324,"hash":"d2fd88aa376aa5914125381cf61a4ae0f343657d6bd7db1f9fe1254e7aba5b2f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/vehicle.py":{"size":591,"mtime_ns":1780802980783200520,"hash":"d87e4262b344e02a7be21534e382e7b75f5543f599d673ddc046134ad0e8ba4e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/__init__.py":{"size":84,"mtime_ns":1780804619867600032,"hash":"5193d61f7204f825551f083e79722805fb2abfd953bb552e80950bb3ff9784a1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicle.py":{"size":3780,"mtime_ns":1780802985736476363,"hash":"aeb49bdd49cb5091c37275b856396e75bcd24557e3a1b58ef668910b1b0aff64"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/vehicle.py":{"size":4776,"mtime_ns":1780802999039302982,"hash":"cf32c66499ca86285561b573d222837ecc76c3fa51b0091b802485fbde8e2bf2"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plan.py":{"size":1788,"mtime_ns":1780803836065964235,"hash":"30452b2f7fa19f5677475ce08b3e355dae2440d80d2e9049f8417de01d822863"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plan.py":{"size":4167,"mtime_ns":1780803836065953735,"hash":"acac159dedfacb36f02982b700b2a7c7a8fbb4644eb89c3b0c13871941917864"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan.py":{"size":9619,"mtime_ns":1780803836065902943,"hash":"e311f2b8b5e7785db764216fbecfd2830a11569ccb827a00c8bd3a2ba3804383"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/inventory.py":{"size":3948,"mtime_ns":1782219604456801044,"hash":"19ea80e59a1309518ad6183a6b0b8751401f4724d7b5101d47defc2417ec36c8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/inventory.py":{"size":16423,"mtime_ns":1783156035144390497,"hash":"901602a8fe362aec9b89ac6f2ee578f1eeb105fcf12a1a6c3ff4ef98f4ad1ef3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory.py":{"size":10663,"mtime_ns":1780803878293678536,"hash":"e38abdd78010b0e96dcb65ed826de03a752b40e3355546ed06a4b07640cf7013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/weighing.py":{"size":5347,"mtime_ns":1780935341753643087,"hash":"f734c66269b713a840d7ce6c1c6150bd2dc00b114b09963362202d119c82301e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/weighing.py":{"size":14940,"mtime_ns":1782687688848020877,"hash":"71d143eb05d0d3f785f5962892bde64dee3c2937139c975b52af62628f308d46"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing.py":{"size":24042,"mtime_ns":1780804029884092079,"hash":"bc9d5cb59bf90597db0e0a1c9afcef5c2b429c3945c92be34bfdc1e77d26ba28"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_auth.py":{"size":2500,"mtime_ns":1782790853674329877,"hash":"4988b71d4e54b326c333872b34743914d67b15fb753c1b0231e9b00b366458a4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/plans.py":{"size":4876,"mtime_ns":1780935329287069452,"hash":"474cb68905249cd5a6237443a412d49cb28af2e0cec61c9bf5c34ec54db1240a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/master_data.py":{"size":619,"mtime_ns":1780925759582999052,"hash":"6f6b2c2e1478efce74b8c6e6fb058d914b8b79adfadf2fea2d91cb55d3f9cdce"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/vehicles.py":{"size":4748,"mtime_ns":1780925781827569662,"hash":"8f8b32dfbf4046cfa0b6645d211732596f7027d46244d9c50132425220065483"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/plans.py":{"size":17098,"mtime_ns":1783156035873015369,"hash":"bd2c8344e2ab765ceb2a2c91f5cf2facea319ae66c9097f5468a7f5d753b67dd"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/mappers.py":{"size":6955,"mtime_ns":1782219619253708711,"hash":"b9e97f66a0a248d06c2f960c3f5ac4fb3369cc976c16709227dee0cc1513d221"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/weighing_logic.py":{"size":4110,"mtime_ns":1780804818442134500,"hash":"468ded88a0a4a397a96884580c88c59291c0b6effa897f08f1b3fea7857f9191"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/dashboard.py":{"size":514,"mtime_ns":1780804990870580151,"hash":"f2c1b1014d0d769abf32dab3783de65fe7fe327c956ffbfe44adce94542f8892"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/dashboard.py":{"size":6576,"mtime_ns":1782651340330906738,"hash":"753703fbbe8ddc02d8fbdae78df4abd1448f5ce5878e2f0390111360fdc300b3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/db_auto_plan.py":{"size":949,"mtime_ns":1780805095845033710,"hash":"9f7513cd2e74f9ddfe5cbee4ae58a40ee7a58aaaff051d590b19a6e1b08bb46a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/plan_helpers.py":{"size":386,"mtime_ns":1780805092108105489,"hash":"5c6ec7612b204e1dcb65c5daf03fa7f8ffa7710cd1ace63be4f7ca00cbf318b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/auto_generate_plans.py":{"size":4699,"mtime_ns":1780935400833764213,"hash":"d0760cb8155d60e18040bcf6fe41e6964640a3dffd6f4b7bb68678c9f31ab29a"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/run_db_auto_generate_plans.py":{"size":1043,"mtime_ns":1780805102157096922,"hash":"3cd8f15b677f21b2873ff384fc0581da264a53ee4318da3c8262101156e3225b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_dibang_data.py":{"size":20215,"mtime_ns":1782011225157870526,"hash":"28a49a423a784e70bec424b702f3d58f69b6f847153c061414efdcdabb660d0e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/inventory_id.py":{"size":2574,"mtime_ns":1780934632326984469,"hash":"c5269cbb273d987c296143b83f1287762ce67d7ddeccfb0a72bc70234bad9f12"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db/product_helpers.py":{"size":2106,"mtime_ns":1780935268573313971,"hash":"cea6b0697eb64081a79d18ab95f0f0477714505a7aef82a41672197b15fc8b14"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_db_inventory_id.py":{"size":586,"mtime_ns":1780934647395760353,"hash":"71a9617d5d0f2c23416686eded204b4c941b47afc3fd6e3facf0c75401e883d9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/models/pl_models.py":{"size":59696,"mtime_ns":1783253795100934151,"hash":"f5c7331ac24c285b41fa1de05ae30c0bb2edfc000274285ff39a3b03d24c411c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py":{"size":22053,"mtime_ns":1783754594278544472,"hash":"f3a69a96b7916cb34e23e673b3155d83f7d9698b2582cfae96dedc392da8e6b8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py":{"size":17945,"mtime_ns":1783211732481443217,"hash":"477ebd0c4c084cf8bccd10865e4703b6b34829d30b791c32232d96c1bac2947f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/__init__.py":{"size":5012,"mtime_ns":1783242582112287271,"hash":"1dced39f250919efc4aa798daee1efef3adcca054c7483843536c455919ff106"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/freight.py":{"size":11275,"mtime_ns":1783213205154827373,"hash":"557f9e9f06ab6f18eb33f54a579fb8ab0f6992d9b25bb530a2ec49d5b2365708"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/inventory.py":{"size":7742,"mtime_ns":1783242580346813026,"hash":"9b57e84bea4844ce93220773544064ed6979c5823b07831bc5fe734b6dc860d3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py":{"size":47059,"mtime_ns":1783760540406481582,"hash":"f8c55c630ab54c014ef572f29f7109645bfcb35af0f001b74c55e3ce4c61797e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py":{"size":33087,"mtime_ns":1783155250374329483,"hash":"6f7703d37ce761406d42f3be4e53ee85be0d3e43e5b880401087dde47ec6608f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py":{"size":1181,"mtime_ns":1783257553396929141,"hash":"8ea3560a47775c0317f5e3d0eb01563f241ca728a09961a55e87209365a7897e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py":{"size":10543,"mtime_ns":1783760751060550793,"hash":"2d64ca83553dbfc928887171941761114c5db012b9c4a01d34e2b522902bac38"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/base_data.py":{"size":30218,"mtime_ns":1782831664104134981,"hash":"885b8fdc78c77b2bf6bae5aaf34438d4a7f12fb700947cf09fc3aafa26c2ae1a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/inventory.py":{"size":13188,"mtime_ns":1783242583174353699,"hash":"da03959cdab792ef503edae6ee27e45f9b5a8db1c63cdbcd97bafa85acc9be71"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/check_pl_json_aliases.py":{"size":2918,"mtime_ns":1781880510604174541,"hash":"b04c5636779ecbcb3082eabdbf42db846cc31f7376129845820c6a4c1e829104"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/base_data.py":{"size":19028,"mtime_ns":1783176696454215658,"hash":"f8dcd38bdbc153d5b6121221a12b188bed82d65d50ff7dfd507161b121496eeb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_personnel_service.py":{"size":6353,"mtime_ns":1783239403847864893,"hash":"f3e204c917284ed36178f347ec450168a75db863d281d331aafab83f57b887d0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_cert_service.py":{"size":7061,"mtime_ns":1783208066037768183,"hash":"3b76d02f52bfe170f411f4140be6ce8cd9bad75a0ddadd97bfd8bed3817b7a7f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py":{"size":37535,"mtime_ns":1783754600608733147,"hash":"1c3c2afe7c6727a00f6fa69673a156cead52f29739cdd485ce3467bd6f434c5d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_transport.py":{"size":9697,"mtime_ns":1783209147246415813,"hash":"aac3cfd1a30df824d1a4867c5b358e3155e19a051dbaffbae89c995b55767a8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_dibang_bridge_service.py":{"size":12594,"mtime_ns":1782227851746783133,"hash":"f8629d807f7e4fcf21530e1660125d93a2b422110a780896ff97d7aa99382a41"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/db/public_inventory.py":{"size":1492,"mtime_ns":1783211660985345577,"hash":"ed4e21307ac463410d296a2f8cf53f8e0429187344537bcf1e1212a7affa06a6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py":{"size":6968,"mtime_ns":1782790898570930774,"hash":"79aa205d2e5e89ed45dd7b95068b93e3f6db82ee9258b0331b21d6c8ab551582"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_inventory_link_read.py":{"size":782,"mtime_ns":1782225276143253698,"hash":"6471dfc9a1fbe66223f79490a5827b2422e5ca6932305ccde6aef4b641676a6b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_site.py":{"size":8470,"mtime_ns":1783211738132414332,"hash":"08745e00bfa7bd756fbeef7ae7a1d3bf957d6403da51cf7825def02a38502d01"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_site_link_read.py":{"size":2362,"mtime_ns":1782225460524562610,"hash":"3b9e1b93d3c4375b6b3adb4476ceb0df356654089d994aef4fea7e4f29266c06"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_site_service.py":{"size":3701,"mtime_ns":1782225248175867714,"hash":"07585f13aaad965c106e88ac26f5f8c58852c0c2bb0bdb91820185133d799219"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_freight_settlement_service.py":{"size":47560,"mtime_ns":1783213204589333188,"hash":"53a61d4da0cd2e2d0bac74abcca13de3f3d506b603453811d8f1cd53fa50b358"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_data_scope.py":{"size":4660,"mtime_ns":1782649048011371782,"hash":"9545dc65fac7e13bf07ece2ec828ec5957bb115e23d0ac8c996f9c70362a4ecd"},"/Users/zlwu/work/00code/shanxia2.0/backend/DEPLOY.md":{"size":2574,"mtime_ns":1782639356701497576,"hash":"6989c30ab5c99ebf488137e31e5561b4a00d36060716dfad3fc247b673538818"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/crud/crm/data_scope_helpers.py":{"size":3358,"mtime_ns":1782650085670691361,"hash":"b0aab03bc7b3afb2faf39410e9881b65e6a2eeecba592d1655b5b9359fb4dbdd"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_quote_contract.py":{"size":12491,"mtime_ns":1782650163950860693,"hash":"eb6b944df35fda5edb6675b69b00f5a83a75fd78785251d1e81e1788ed439cfe"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api.py":{"size":14409,"mtime_ns":1782650231443625388,"hash":"fb4cf4178a4b7c5530999f0c950ed38310dfe81b3168c10117849d6f512be01d"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/patch_pr3_api_calls.py":{"size":3345,"mtime_ns":1782650279067732462,"hash":"57732d0beb80ee17b533c78ce0250967fa83c68354ea9d1972275ba1fbc39007"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_data_scope.py":{"size":801,"mtime_ns":1782650506729785291,"hash":"0f0275c56a43603e69a030dd1d284cfc7982a7636423cfff6d0e692eb4631cb1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/apply_pl_data_scope.py":{"size":10945,"mtime_ns":1782650517176615737,"hash":"928fe2112c9fd8bab4da7f4fc67d6d247c78187ca3b1a4146cc2fd3d9e04697f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx_data_scope.py":{"size":2394,"mtime_ns":1782650938092205819,"hash":"1e8e1dbdcf4bc68c2e30b99015e930bb9522bd1f633e95604ec6a62bdb2b43f3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/db_data_scope.py":{"size":796,"mtime_ns":1782651142571517234,"hash":"ad4e206ae53e25247ebb004e0ef586077a6e7df0eac7b14973c26b186cffb2eb"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/delete_guard.py":{"size":3572,"mtime_ns":1782687610196676295,"hash":"223d91c51a1677b6a4b7802d5571af14d5cda8bc45e4e757b1f2150990a69bce"},"/Users/zlwu/work/00code/shanxia2.0/backend/tests/test_delete_guard.py":{"size":1565,"mtime_ns":1782687611517772849,"hash":"5e2a45f63b7296e3a10dfbd4b4716e54370e1439248881d6591cba5c9f6581d6"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_carrier_service.py":{"size":3543,"mtime_ns":1783176693363348324,"hash":"509689b7b4600ecf70ff6ba59967699af8848edc3cfb3b95ed1c615acb76e33e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_recharge.py":{"size":6299,"mtime_ns":1782694169098881801,"hash":"4d5ab880c0c3ca91b485e1ba53725005b9f89fe205780d58a738c861dbb7e6f8"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_recharge.py":{"size":8824,"mtime_ns":1782693867411719704,"hash":"f084b6fb3e80de0455ee9cfcc857ae5814b79497786367380f3a375b16c4bf85"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py":{"size":22641,"mtime_ns":1783760938743438422,"hash":"a4a9377a8243e30dd7d6a8a175c68525009465fdebdeb01230849156dd8b59f4"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_maintenance.py":{"size":6563,"mtime_ns":1782695447503836332,"hash":"c34b79f5bcd004c0f6353922492883e4b08e5a6bc229f0265c9af850d235848b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_maintenance.py":{"size":7793,"mtime_ns":1782695447583143336,"hash":"79033735d527926ac082200de0b89a122c53db3cbdf5fb33e3cc69f74dd017f5"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py":{"size":23307,"mtime_ns":1783761151873696556,"hash":"0c7aa346d9879347d6a98c435fadc47873907ca0774147b69acf0d392e00e58b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/vehicle_urea.py":{"size":5609,"mtime_ns":1782696196169930337,"hash":"71b7de2f90b3c7c732b59683e5cd4d858288121414a1ff2679c039299f5fb024"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/vehicle_urea.py":{"size":6696,"mtime_ns":1782696220189638136,"hash":"750ecae5cdcc857031e618b87ffa9b28607bd47e72ecf6dc7ebbe51003682df3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_urea_service.py":{"size":19556,"mtime_ns":1782696213546483763,"hash":"03d389e791e5fac9a5339d1259d342952fced97712c3657e8f791426de32743b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_decorator.py":{"size":5312,"mtime_ns":1782701254052728785,"hash":"e476146985da29ad8cb77064d10314470546a8a52f6026a75fdbadd3fee34288"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_infer.py":{"size":1767,"mtime_ns":1782699326717654441,"hash":"4346307abeb03020a7069f560556b9954cf50203efb6ac65b0a4b9644b6a9b2d"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/oper_log_context.py":{"size":868,"mtime_ns":1782699327268762002,"hash":"064c356f3f0fbabc454311445f02d375b965c2c055ddc51386d4dad50ac3337a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/redis_client.py":{"size":1691,"mtime_ns":1782790834895168051,"hash":"e5d84d7433ce745da7a37fb46dff5d5eb6ae027ef0efbf406da0c9c7fb6089ad"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/resource_snapshot.py":{"size":3823,"mtime_ns":1782793446819247296,"hash":"2d65c990d058d22010f8d4449652eb752c297a046b5d7b3ff6755c3e1cad0cf3"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py":{"size":4861,"mtime_ns":1782793450356380638,"hash":"6f94dcb582fe725738a54469e461aa0124b9754b2141cb78d3859ff1a2f25ca9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/datetime_parse.py":{"size":929,"mtime_ns":1782905360746020898,"hash":"7a4eac85768cbeb0ba76f7f478ddadeeacab2498cd9be4070a76e1cfad693cdf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport_address.py":{"size":2604,"mtime_ns":1782906539731495489,"hash":"6548b4b0c8c1d8096ce96ff1d5b523c67b12300f9a3eac66570b0256478a1120"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport_address.py":{"size":6875,"mtime_ns":1782907484528042124,"hash":"7880a37b53dc2e88534ca5750097792ee7e893c94d87bf1eecd8b6055fbba181"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/pl_cert_expiry.py":{"size":711,"mtime_ns":1783208067000967398,"hash":"7c02dbf83fad89c7da757965b545bf77f37792edd0d01d3ed320349b0b60a50b"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_delivery_slip_template.sql":{"size":217,"mtime_ns":1783231586212866839,"hash":"e05e3fe7255e6c8a88aceb1aa53d743a4888a34c9fbaa4449c1cb8a275744d68"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_slip_template.sql":{"size":191,"mtime_ns":1783219958449266456,"hash":"e2a17c3df7be5cc0436ef979a48de81eecbe99c03f43662f4b0954a09dfa1305"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_template.sql":{"size":215,"mtime_ns":1783238744737524455,"hash":"24cf12e21f9f61f49c38e654c0ca655f56a21e5e2364e4c2ca4547dad583272e"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no.sql":{"size":203,"mtime_ns":1783240340132373787,"hash":"de9b3c8e1617b9c345b2d4005e4a627f10ded089db89d35f0b389b333b840c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_subpack_slip_no_format.sql":{"size":571,"mtime_ns":1783241697391655899,"hash":"61fc58ebda64c5d6be6bfd374dda99c7134e38dc89031527f71916625c4e36db"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_plan_product_legal_use_cert_url.sql":{"size":1180,"mtime_ns":1783253793703960795,"hash":"01105ec581050477087d9bf65528cfe77ce0026d0fb682cba8014c4cdb046db7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py":{"size":247,"mtime_ns":1783257567212910729,"hash":"88c31e5ef8cee73327a1a0f36ea7ae0e61fa8f1ae140ad95ed0c0b9c2b4d05f7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py":{"size":1203,"mtime_ns":1783257582921626135,"hash":"05dfdc446281abd9c3b273ebae2f9cbc4efe681fdc0ab288a77903e9e2bf83c7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py":{"size":6108,"mtime_ns":1783258109621359209,"hash":"aec342e2370f584c5ed0024bb08a8346c70e1827c09ab456b4b06e9dfc817d8c"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql":{"size":454,"mtime_ns":1783254856670799736,"hash":"d40ab4c556ab285498f4689c21736832deddc754a9a2b7d806e870ccb39fc9ae"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql":{"size":79187,"mtime_ns":1783760394154878476,"hash":"22ce17df3bf17d8d6a9d3793fc74e1ec73bdc4c87e543ffbf77b8c3219e554b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql":{"size":6367,"mtime_ns":1783256049450807031,"hash":"5f6964d1ea2712d3d72c8f43f08c16597d85fe79f3f54c8be99962090d6c2b67"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql":{"size":1562,"mtime_ns":1783256051207137180,"hash":"82a0ce8c5293f5051967633c1c2e0a1dc60e1fc7c97919c9e0866246bbcbe3d1"},"/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql":{"size":269,"mtime_ns":1783760394518896877,"hash":"a5f66647cdb4f0f403689b47b804f8099d7d710753823ef3ddc5e7a5a9ca4ca8"}}
\ No newline at end of file
diff --git a/backend/graphify-out/graph.json b/backend/graphify-out/graph.json
index 6008b14fd..6cda463c2 100644
--- a/backend/graphify-out/graph.json
+++ b/backend/graphify-out/graph.json
@@ -530,7 +530,7 @@
"source_file": "app/main.py",
"source_location": "L39",
"id": "fastapi",
- "community": 41,
+ "community": 129,
"norm_label": "fastapi"
},
{
@@ -683,7 +683,7 @@
"source_file": "app/tasks/db_auto_plan.py",
"source_location": "L1",
"id": "app_tasks_db_auto_plan_py",
- "community": 96,
+ "community": 20,
"norm_label": "db_auto_plan.py"
},
{
@@ -692,7 +692,7 @@
"source_file": "app/tasks/db_auto_plan.py",
"source_location": "L10",
"id": "tasks_db_auto_plan_auto_generate_monthly_plans_job",
- "community": 96,
+ "community": 20,
"norm_label": "auto_generate_monthly_plans_job()"
},
{
@@ -701,7 +701,7 @@
"source_file": "app/tasks/db_auto_plan.py",
"source_location": "L11",
"id": "tasks_db_auto_plan_rationale_11",
- "community": 96,
+ "community": 20,
"norm_label": "\u6bcf\u6708 1 \u65e5\u51cc\u6668\u6267\u884c:\u6309\u4e0a\u6708\u8ba1\u5212\u6a21\u677f\u751f\u6210\u672c\u6708\u8ba1\u5212\u3002"
},
{
@@ -710,7 +710,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L1",
"id": "app_tasks_customer_pool_py",
- "community": 96,
+ "community": 20,
"norm_label": "customer_pool.py"
},
{
@@ -719,7 +719,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L17",
"id": "tasks_customer_pool_check_customer_protect_time",
- "community": 96,
+ "community": 20,
"norm_label": "check_customer_protect_time()"
},
{
@@ -728,7 +728,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L66",
"id": "tasks_customer_pool_remind_customer_recycle",
- "community": 96,
+ "community": 20,
"norm_label": "remind_customer_recycle()"
},
{
@@ -737,7 +737,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L112",
"id": "tasks_customer_pool_pool_recovery_job",
- "community": 96,
+ "community": 20,
"norm_label": "pool_recovery_job()"
},
{
@@ -746,7 +746,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L152",
"id": "tasks_customer_pool_warn_customer_recycle",
- "community": 96,
+ "community": 20,
"norm_label": "warn_customer_recycle()"
},
{
@@ -791,7 +791,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L18",
"id": "tasks_customer_pool_rationale_18",
- "community": 96,
+ "community": 20,
"norm_label": "\u6bcf\u5929\u51cc\u66681\u70b9:\u68c0\u67e5\u4fdd\u62a4\u671f\u5230\u671f\u5ba2\u6237,\u8ddf\u8fdb\u6b21\u6570\u4e0d\u8db3\u5219\u9000\u56de\u516c\u6d77"
},
{
@@ -800,7 +800,7 @@
"source_file": "app/tasks/customer_pool.py",
"source_location": "L67",
"id": "tasks_customer_pool_rationale_67",
- "community": 96,
+ "community": 20,
"norm_label": "\u6bcf\u5929\u65e9\u4e0a9\u70b9:\u4fdd\u62a4\u671f\u5230\u671f\u63d0\u9192(3\u5929\u5185\u5230\u671f\u4e14\u8ddf\u8fdb\u4e0d\u8db3)"
},
{
@@ -809,7 +809,7 @@
"source_file": "app/tasks/__init__.py",
"source_location": "L1",
"id": "app_tasks_init_py",
- "community": 96,
+ "community": 20,
"norm_label": "__init__.py"
},
{
@@ -863,7 +863,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L1",
"id": "app_core_db_auth_py",
- "community": 31,
+ "community": 129,
"norm_label": "db_auth.py"
},
{
@@ -872,7 +872,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L22",
"id": "core_db_auth_dbusercontext",
- "community": 4,
+ "community": 11,
"norm_label": "dbusercontext"
},
{
@@ -917,7 +917,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L49",
"id": "core_db_auth_get_db_current_user",
- "community": 4,
+ "community": 129,
"norm_label": "get_db_current_user()"
},
{
@@ -926,7 +926,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L61",
"id": "core_db_auth_get_db_current_user_optional",
- "community": 31,
+ "community": 129,
"norm_label": "get_db_current_user_optional()"
},
{
@@ -935,7 +935,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L61",
"id": "app_core_db_auth_py_session",
- "community": 31,
+ "community": 129,
"norm_label": "session"
},
{
@@ -944,7 +944,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L1",
"id": "core_db_auth_rationale_1",
- "community": 31,
+ "community": 129,
"norm_label": "\u5730\u78c5\u6a21\u5757\u8ba4\u8bc1\u9002\u914d:\u95e8\u6237 jwt \u7528\u6237 \u2192 db \u4e1a\u52a1\u4e0a\u4e0b\u6587\u3002"
},
{
@@ -953,7 +953,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L23",
"id": "core_db_auth_rationale_23",
- "community": 4,
+ "community": 11,
"norm_label": "db router/service \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587\u3002"
},
{
@@ -971,7 +971,7 @@
"source_file": "app/core/db_auth.py",
"source_location": "L65",
"id": "core_db_auth_rationale_65",
- "community": 31,
+ "community": 129,
"norm_label": "\u6709 bearer \u4e14\u4e3a admin/super_admin \u65f6\u8fd4\u56de\u4e0a\u4e0b\u6587,\u5426\u5219 none(\u4f9b\u4e09\u65b9 h5 \u65e0\u767b\u5f55\u8c03\u7528)\u3002"
},
{
@@ -1259,7 +1259,7 @@
"source_file": "app/core/auth.py",
"source_location": "L95",
"id": "timedelta",
- "community": 5,
+ "community": 56,
"norm_label": "timedelta"
},
{
@@ -1385,7 +1385,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L1",
"id": "app_core_api_crypto_py",
- "community": 14,
+ "community": 136,
"norm_label": "api_crypto.py"
},
{
@@ -1394,7 +1394,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L14",
"id": "core_api_crypto_apicryptoerror",
- "community": 14,
+ "community": 41,
"norm_label": "apicryptoerror"
},
{
@@ -1403,7 +1403,7 @@
"source_file": "",
"source_location": "",
"id": "exception",
- "community": 14,
+ "community": 41,
"norm_label": "exception"
},
{
@@ -1412,7 +1412,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L18",
"id": "core_api_crypto_derive_key",
- "community": 14,
+ "community": 136,
"norm_label": "derive_key()"
},
{
@@ -1421,7 +1421,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L18",
"id": "app_core_api_crypto_py_str",
- "community": 14,
+ "community": 136,
"norm_label": "str"
},
{
@@ -1430,7 +1430,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L18",
"id": "app_core_api_crypto_py_int",
- "community": 14,
+ "community": 136,
"norm_label": "int"
},
{
@@ -1439,7 +1439,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L18",
"id": "app_core_api_crypto_py_bytes",
- "community": 14,
+ "community": 136,
"norm_label": "bytes"
},
{
@@ -1448,7 +1448,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L23",
"id": "core_api_crypto_b64url_encode",
- "community": 14,
+ "community": 136,
"norm_label": "_b64url_encode()"
},
{
@@ -1457,7 +1457,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L27",
"id": "core_api_crypto_b64url_decode",
- "community": 14,
+ "community": 136,
"norm_label": "_b64url_decode()"
},
{
@@ -1466,7 +1466,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L32",
"id": "core_api_crypto_encrypt_json",
- "community": 14,
+ "community": 136,
"norm_label": "encrypt_json()"
},
{
@@ -1475,7 +1475,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L32",
"id": "app_core_api_crypto_py_any",
- "community": 14,
+ "community": 136,
"norm_label": "any"
},
{
@@ -1484,7 +1484,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L40",
"id": "core_api_crypto_decrypt_json",
- "community": 14,
+ "community": 136,
"norm_label": "decrypt_json()"
},
{
@@ -1493,7 +1493,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L59",
"id": "core_api_crypto_gen_nonce_hex",
- "community": 14,
+ "community": 136,
"norm_label": "gen_nonce_hex()"
},
{
@@ -1502,7 +1502,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L63",
"id": "core_api_crypto_is_ts_in_window",
- "community": 14,
+ "community": 136,
"norm_label": "is_ts_in_window()"
},
{
@@ -1511,7 +1511,7 @@
"source_file": "app/core/api_crypto.py",
"source_location": "L63",
"id": "app_core_api_crypto_py_bool",
- "community": 14,
+ "community": 136,
"norm_label": "bool"
},
{
@@ -2159,7 +2159,7 @@
"source_file": "app/core/database.py",
"source_location": "L1",
"id": "app_core_database_py",
- "community": 152,
+ "community": 129,
"norm_label": "database.py"
},
{
@@ -2168,7 +2168,7 @@
"source_file": "app/core/database.py",
"source_location": "L28",
"id": "core_database_get_db",
- "community": 31,
+ "community": 129,
"norm_label": "get_db()"
},
{
@@ -2177,7 +2177,7 @@
"source_file": "app/core/database.py",
"source_location": "L38",
"id": "core_database_auto_fill_create_dept_id",
- "community": 152,
+ "community": 129,
"norm_label": "_auto_fill_create_dept_id()"
},
{
@@ -2186,7 +2186,7 @@
"source_file": "app/core/database.py",
"source_location": "L39",
"id": "core_database_rationale_39",
- "community": 152,
+ "community": 129,
"norm_label": "orm before_insert \u94a9\u5b50:\u5f53 create_dept_id \u4e3a\u7a7a\u65f6,\u81ea\u52a8\u4ece\u8bf7\u6c42\u4e0a\u4e0b\u6587\u586b\u5145\u5f53\u524d\u7528\u6237\u90e8\u95e8 id"
},
{
@@ -2348,7 +2348,7 @@
"source_file": "app/core/response.py",
"source_location": "L1",
"id": "app_core_response_py",
- "community": 49,
+ "community": 40,
"norm_label": "response.py"
},
{
@@ -2357,7 +2357,7 @@
"source_file": "app/core/response.py",
"source_location": "L8",
"id": "core_response_responsemodel",
- "community": 49,
+ "community": 40,
"norm_label": "responsemodel"
},
{
@@ -2366,7 +2366,7 @@
"source_file": "app/core/response.py",
"source_location": "L15",
"id": "core_response_config",
- "community": 49,
+ "community": 40,
"norm_label": "config"
},
{
@@ -2375,7 +2375,7 @@
"source_file": "app/core/response.py",
"source_location": "L19",
"id": "core_response_pageresult",
- "community": 49,
+ "community": 40,
"norm_label": "pageresult"
},
{
@@ -2492,7 +2492,7 @@
"source_file": "app/core/oper_log_context.py",
"source_location": "L28",
"id": "core_oper_log_context_clear_oper_log_meta",
- "community": 54,
+ "community": 77,
"norm_label": "clear_oper_log_meta()"
},
{
@@ -2528,7 +2528,7 @@
"source_file": "app/core/menu_guard.py",
"source_location": "L1",
"id": "app_core_menu_guard_py",
- "community": 130,
+ "community": 129,
"norm_label": "menu_guard.py"
},
{
@@ -2537,7 +2537,7 @@
"source_file": "app/core/menu_guard.py",
"source_location": "L15",
"id": "core_menu_guard_require_admin_or_super_admin",
- "community": 58,
+ "community": 129,
"norm_label": "require_admin_or_super_admin()"
},
{
@@ -2582,7 +2582,7 @@
"source_file": "app/core/menu_guard.py",
"source_location": "L1",
"id": "core_menu_guard_rationale_1",
- "community": 130,
+ "community": 129,
"norm_label": "\u83dc\u5355 code \u6743\u9650\u5b88\u536b(v0.3:\u901a\u8fc7 sys_user_role \u2192 sys_role_menu \u2192 sys_menu.perms)"
},
{
@@ -2591,7 +2591,7 @@
"source_file": "app/core/menu_guard.py",
"source_location": "L16",
"id": "core_menu_guard_rationale_16",
- "community": 58,
+ "community": 129,
"norm_label": "\u8fd0\u8425\u7aef\u89d2\u8272\u5b88\u536b:admin / super_admin \u53ef\u8bbf\u95ee\u3002"
},
{
@@ -2690,7 +2690,7 @@
"source_file": "app/core/attachment_biz.py",
"source_location": "L1",
"id": "app_core_attachment_biz_py",
- "community": 112,
+ "community": 22,
"norm_label": "attachment_biz.py"
},
{
@@ -2699,7 +2699,7 @@
"source_file": "app/core/attachment_biz.py",
"source_location": "L21",
"id": "core_attachment_biz_resolve_upload_folder",
- "community": 112,
+ "community": 22,
"norm_label": "resolve_upload_folder()"
},
{
@@ -2708,7 +2708,7 @@
"source_file": "app/core/attachment_biz.py",
"source_location": "L21",
"id": "app_core_attachment_biz_py_str",
- "community": 112,
+ "community": 22,
"norm_label": "str"
},
{
@@ -2717,7 +2717,7 @@
"source_file": "app/core/attachment_biz.py",
"source_location": "L1",
"id": "core_attachment_biz_rationale_1",
- "community": 112,
+ "community": 22,
"norm_label": "\u9644\u4ef6\u4e0a\u4f20 biztype \u4e0e minio \u76ee\u5f55\u6620\u5c04(\u5bf9\u9f50\u539f crm oss \u4e0a\u4f20\u8bed\u4e49)"
},
{
@@ -2726,7 +2726,7 @@
"source_file": "app/core/attachment_biz.py",
"source_location": "L22",
"id": "core_attachment_biz_rationale_22",
- "community": 112,
+ "community": 22,
"norm_label": "\u4f18\u5148\u4f7f\u7528\u663e\u5f0f folder;\u5426\u5219\u6309 biztype \u6620\u5c04\u9ed8\u8ba4\u76ee\u5f55\u3002"
},
{
@@ -2870,7 +2870,7 @@
"source_file": "app/core/utils.py",
"source_location": "L14",
"id": "core_utils_generate_id",
- "community": 54,
+ "community": 50,
"norm_label": "generate_id()"
},
{
@@ -3734,7 +3734,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L1",
"id": "app_core_bx_auth_py",
- "community": 70,
+ "community": 59,
"norm_label": "bx_auth.py"
},
{
@@ -3743,7 +3743,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L13",
"id": "core_bx_auth_bxusercontext",
- "community": 70,
+ "community": 59,
"norm_label": "bxusercontext"
},
{
@@ -3752,7 +3752,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L22",
"id": "core_bx_auth_bxusercontext_to_tenant_user_dict",
- "community": 70,
+ "community": 132,
"norm_label": ".to_tenant_user_dict()"
},
{
@@ -3761,7 +3761,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L22",
"id": "app_core_bx_auth_py_str",
- "community": 70,
+ "community": 132,
"norm_label": "str"
},
{
@@ -3770,7 +3770,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L22",
"id": "app_core_bx_auth_py_any",
- "community": 70,
+ "community": 132,
"norm_label": "any"
},
{
@@ -3779,7 +3779,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L30",
"id": "core_bx_auth_bxusercontext_to_user_info",
- "community": 70,
+ "community": 132,
"norm_label": ".to_user_info()"
},
{
@@ -3788,7 +3788,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L41",
"id": "core_bx_auth_get_bx_current_user",
- "community": 70,
+ "community": 59,
"norm_label": "get_bx_current_user()"
},
{
@@ -3797,7 +3797,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L1",
"id": "core_bx_auth_rationale_1",
- "community": 70,
+ "community": 59,
"norm_label": "\u62a5\u9500\u6a21\u5757\u8ba4\u8bc1\u9002\u914d:\u95e8\u6237 jwt \u7528\u6237 \u2192 bx \u4e1a\u52a1\u4e0a\u4e0b\u6587\u3002"
},
{
@@ -3806,7 +3806,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L14",
"id": "core_bx_auth_rationale_14",
- "community": 70,
+ "community": 59,
"norm_label": "bx service/router \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587(sys_user.id \u4e3a uuid \u5b57\u7b26\u4e32)\u3002"
},
{
@@ -3815,7 +3815,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L23",
"id": "core_bx_auth_rationale_23",
- "community": 70,
+ "community": 132,
"norm_label": "\u4f9b get_tenant_no \u7b49\u95e8\u6237\u5de5\u5177\u4f7f\u7528\u3002"
},
{
@@ -3824,7 +3824,7 @@
"source_file": "app/core/bx_auth.py",
"source_location": "L31",
"id": "core_bx_auth_rationale_31",
- "community": 70,
+ "community": 132,
"norm_label": "\u4e0e\u95e8\u6237 jwt / apply_data_scope \u6240\u9700\u7684 user_info \u5b57\u6bb5\u5bf9\u9f50\u3002"
},
{
@@ -4067,7 +4067,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L1",
"id": "app_core_delete_guard_py",
- "community": 65,
+ "community": 85,
"norm_label": "delete_guard.py"
},
{
@@ -4076,7 +4076,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L11",
"id": "core_delete_guard_normalize_user_info",
- "community": 65,
+ "community": 85,
"norm_label": "normalize_user_info()"
},
{
@@ -4085,7 +4085,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L11",
"id": "app_core_delete_guard_py_str",
- "community": 65,
+ "community": 85,
"norm_label": "str"
},
{
@@ -4094,7 +4094,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L11",
"id": "app_core_delete_guard_py_any",
- "community": 65,
+ "community": 85,
"norm_label": "any"
},
{
@@ -4103,7 +4103,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L27",
"id": "core_delete_guard_user_info_from_context",
- "community": 4,
+ "community": 23,
"norm_label": "user_info_from_context()"
},
{
@@ -4112,7 +4112,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L39",
"id": "core_delete_guard_is_super_admin",
- "community": 65,
+ "community": 85,
"norm_label": "is_super_admin()"
},
{
@@ -4121,7 +4121,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L39",
"id": "app_core_delete_guard_py_bool",
- "community": 65,
+ "community": 85,
"norm_label": "bool"
},
{
@@ -4130,7 +4130,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L45",
"id": "core_delete_guard_row_creator_id",
- "community": 65,
+ "community": 85,
"norm_label": "row_creator_id()"
},
{
@@ -4139,7 +4139,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L45",
"id": "rowlike",
- "community": 65,
+ "community": 85,
"norm_label": "rowlike"
},
{
@@ -4148,7 +4148,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L53",
"id": "core_delete_guard_actor_ids",
- "community": 65,
+ "community": 85,
"norm_label": "_actor_ids()"
},
{
@@ -4157,7 +4157,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L64",
"id": "core_delete_guard_actor_names",
- "community": 65,
+ "community": 85,
"norm_label": "_actor_names()"
},
{
@@ -4166,7 +4166,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L75",
"id": "core_delete_guard_can_delete_by_creator",
- "community": 65,
+ "community": 85,
"norm_label": "can_delete_by_creator()"
},
{
@@ -4175,7 +4175,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L95",
"id": "core_delete_guard_assert_row_deletable_by_creator",
- "community": 4,
+ "community": 85,
"norm_label": "assert_row_deletable_by_creator()"
},
{
@@ -4184,7 +4184,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L108",
"id": "core_delete_guard_assert_rows_deletable_by_creator",
- "community": 65,
+ "community": 85,
"norm_label": "assert_rows_deletable_by_creator()"
},
{
@@ -4193,7 +4193,7 @@
"source_file": "app/core/delete_guard.py",
"source_location": "L1",
"id": "core_delete_guard_rationale_1",
- "community": 65,
+ "community": 85,
"norm_label": "\u5220\u9664\u6743\u9650:\u4ec5\u521b\u5efa\u4eba\u53ef\u5220(super_admin \u4f8b\u5916)\u3002"
},
{
@@ -4610,6 +4610,33 @@
"community": 38,
"norm_label": "str"
},
+ {
+ "label": "_parse_day_start()",
+ "file_type": "code",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L29",
+ "id": "utils_bx_date_range_parse_day_start",
+ "community": 38,
+ "norm_label": "_parse_day_start()"
+ },
+ {
+ "label": "resolve_create_time_bounds()",
+ "file_type": "code",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L38",
+ "id": "utils_bx_date_range_resolve_create_time_bounds",
+ "community": 38,
+ "norm_label": "resolve_create_time_bounds()"
+ },
+ {
+ "label": "append_create_time_filters()",
+ "file_type": "code",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L57",
+ "id": "utils_bx_date_range_append_create_time_filters",
+ "community": 38,
+ "norm_label": "append_create_time_filters()"
+ },
{
"label": "\u62a5\u9500\u6a21\u5757\u65e5\u671f\u8303\u56f4\u5de5\u5177\uff08\u4ece bx-backend \u8fc1\u79fb\uff09\u3002",
"file_type": "rationale",
@@ -4628,6 +4655,15 @@
"community": 25,
"norm_label": "\u5f53\u524d\u81ea\u7136\u6708 [month_start, next_month_start)\u3002"
},
+ {
+ "label": "\u89e3\u6790\u7533\u8bf7\u65f6\u95f4\u7b5b\u9009\u8fb9\u754c\uff0c\u8fd4\u56de (\u542b\u8d77, \u4e0d\u542b\u6b62)\u3002",
+ "file_type": "rationale",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L43",
+ "id": "utils_bx_date_range_rationale_43",
+ "community": 38,
+ "norm_label": "\u89e3\u6790\u7533\u8bf7\u65f6\u95f4\u7b5b\u9009\u8fb9\u754c,\u8fd4\u56de (\u542b\u8d77, \u4e0d\u542b\u6b62)\u3002"
+ },
{
"label": "crm_export_columns.py",
"file_type": "code",
@@ -4796,7 +4832,7 @@
"source_file": "app/utils/excel_export.py",
"source_location": "L104",
"id": "streamingresponse",
- "community": 3,
+ "community": 75,
"norm_label": "streamingresponse"
},
{
@@ -5084,7 +5120,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L105",
"id": "models_pl_models_pltransportaddress",
- "community": 114,
+ "community": 108,
"norm_label": "pltransportaddress"
},
{
@@ -5093,7 +5129,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L129",
"id": "models_pl_models_plcert",
- "community": 19,
+ "community": 96,
"norm_label": "plcert"
},
{
@@ -5102,7 +5138,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L155",
"id": "models_pl_models_pldriver",
- "community": 15,
+ "community": 7,
"norm_label": "pldriver"
},
{
@@ -5138,7 +5174,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L326",
"id": "models_pl_models_plplanproduct",
- "community": 15,
+ "community": 22,
"norm_label": "plplanproduct"
},
{
@@ -5156,7 +5192,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L409",
"id": "models_pl_models_pltransport",
- "community": 15,
+ "community": 7,
"norm_label": "pltransport"
},
{
@@ -5210,7 +5246,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L606",
"id": "models_pl_models_plfreightsettlementapproval",
- "community": 44,
+ "community": 32,
"norm_label": "plfreightsettlementapproval"
},
{
@@ -5237,7 +5273,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L680",
"id": "models_pl_models_plinventory",
- "community": 9,
+ "community": 48,
"norm_label": "plinventory"
},
{
@@ -5264,7 +5300,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L766",
"id": "models_pl_models_pldocumentreminder",
- "community": 19,
+ "community": 96,
"norm_label": "pldocumentreminder"
},
{
@@ -5327,7 +5363,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L106",
"id": "models_pl_models_rationale_106",
- "community": 114,
+ "community": 108,
"norm_label": "\u8fd0\u8f93\u901a\u7528\u5730\u5740\u5e93 pl_transport_address"
},
{
@@ -5336,7 +5372,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L156",
"id": "models_pl_models_rationale_156",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)"
},
{
@@ -5354,7 +5390,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L203",
"id": "models_pl_models_rationale_203",
- "community": 4,
+ "community": 22,
"norm_label": "\u8f66\u8f86-\u53f8\u673a\u5173\u8054\u8868 pl_vehicle_driver(\u517c\u5bb9\u65e7\u8868)"
},
{
@@ -5363,7 +5399,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L327",
"id": "models_pl_models_rationale_327",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product"
},
{
@@ -5426,7 +5462,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L607",
"id": "models_pl_models_rationale_607",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval"
},
{
@@ -5471,7 +5507,7 @@
"source_file": "app/models/pl_models.py",
"source_location": "L767",
"id": "models_pl_models_rationale_767",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder"
},
{
@@ -5570,7 +5606,7 @@
"source_file": "app/models/models.py",
"source_location": "L56",
"id": "models_models_sysrole",
- "community": 101,
+ "community": 12,
"norm_label": "sysrole"
},
{
@@ -5615,7 +5651,7 @@
"source_file": "app/models/models.py",
"source_location": "L165",
"id": "models_models_sysdept",
- "community": 101,
+ "community": 12,
"norm_label": "sysdept"
},
{
@@ -5669,7 +5705,7 @@
"source_file": "app/models/models.py",
"source_location": "L302",
"id": "models_models_sysethnic",
- "community": 148,
+ "community": 28,
"norm_label": "sysethnic"
},
{
@@ -5678,7 +5714,7 @@
"source_file": "app/models/models.py",
"source_location": "L322",
"id": "models_models_sysdictdata",
- "community": 101,
+ "community": 12,
"norm_label": "sysdictdata"
},
{
@@ -5714,7 +5750,7 @@
"source_file": "app/models/models.py",
"source_location": "L458",
"id": "models_models_bizattachment",
- "community": 101,
+ "community": 12,
"norm_label": "bizattachment"
},
{
@@ -5840,7 +5876,7 @@
"source_file": "app/models/models.py",
"source_location": "L303",
"id": "models_models_rationale_303",
- "community": 148,
+ "community": 28,
"norm_label": "\u6c11\u65cf\u7801\u8868 sys_ethnic(\u56fd\u6807 gb/t 3304,\u5168\u5c40)"
},
{
@@ -5885,7 +5921,7 @@
"source_file": "app/models/__init__.py",
"source_location": "L1",
"id": "app_models_init_py",
- "community": 4,
+ "community": 2,
"norm_label": "__init__.py"
},
{
@@ -5894,7 +5930,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L1",
"id": "app_models_crm_models_py",
- "community": 51,
+ "community": 6,
"norm_label": "crm_models.py"
},
{
@@ -5975,7 +6011,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L313",
"id": "models_crm_models_crmcustomerpoolrule",
- "community": 56,
+ "community": 20,
"norm_label": "crmcustomerpoolrule"
},
{
@@ -6020,7 +6056,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L471",
"id": "models_crm_models_crmcontract",
- "community": 51,
+ "community": 15,
"norm_label": "crmcontract"
},
{
@@ -6029,7 +6065,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L554",
"id": "models_crm_models_crmcontractapproval",
- "community": 51,
+ "community": 17,
"norm_label": "crmcontractapproval"
},
{
@@ -6038,7 +6074,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L585",
"id": "models_crm_models_crmcontractchange",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontractchange"
},
{
@@ -6047,7 +6083,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L616",
"id": "models_crm_models_crmcontracttemplate",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontracttemplate"
},
{
@@ -6056,7 +6092,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L650",
"id": "models_crm_models_crmcontractproduct",
- "community": 51,
+ "community": 15,
"norm_label": "crmcontractproduct"
},
{
@@ -6074,7 +6110,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L713",
"id": "models_crm_models_crmquote",
- "community": 5,
+ "community": 6,
"norm_label": "crmquote"
},
{
@@ -6092,7 +6128,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L806",
"id": "models_crm_models_crmquoteapproval",
- "community": 5,
+ "community": 33,
"norm_label": "crmquoteapproval"
},
{
@@ -6137,7 +6173,7 @@
"source_file": "app/models/crm_models.py",
"source_location": "L1",
"id": "models_crm_models_rationale_1",
- "community": 51,
+ "community": 6,
"norm_label": "crm \u6a21\u5757\u6570\u636e\u6a21\u578b(\u4ea7\u54c1\u5206\u7c7b\u3001\u4ea7\u54c1\u4e3b\u8868\u3001\u7edf\u4e00\u9644\u4ef6\u8868\u3001\u5ba2\u6237\u7ba1\u7406\u3001\u516c\u6d77\u6c60\u3001\u7ebf\u7d22\u7ba1\u7406)"
},
{
@@ -6146,7 +6182,7 @@
"source_file": "app/models/db_models.py",
"source_location": "L1",
"id": "app_models_db_models_py",
- "community": 95,
+ "community": 27,
"norm_label": "db_models.py"
},
{
@@ -6173,7 +6209,7 @@
"source_file": "app/models/db_models.py",
"source_location": "L77",
"id": "models_db_models_dbweighingslip",
- "community": 39,
+ "community": 27,
"norm_label": "dbweighingslip"
},
{
@@ -6191,7 +6227,7 @@
"source_file": "app/models/db_models.py",
"source_location": "L1",
"id": "models_db_models_rationale_1",
- "community": 95,
+ "community": 27,
"norm_label": "\u5730\u78c5(db)\u6a21\u5757\u6570\u636e\u6a21\u578b \u2014 \u5bf9\u9f50 docs/sql/db_tables.sql"
},
{
@@ -6200,7 +6236,7 @@
"source_file": "app/models/base.py",
"source_location": "L1",
"id": "app_models_base_py",
- "community": 49,
+ "community": 114,
"norm_label": "base.py"
},
{
@@ -6209,7 +6245,7 @@
"source_file": "app/models/base.py",
"source_location": "L10",
"id": "models_base_basemodel",
- "community": 49,
+ "community": 40,
"norm_label": "basemodel"
},
{
@@ -6218,7 +6254,7 @@
"source_file": "app/models/base.py",
"source_location": "L15",
"id": "models_base_basemodel_tablename",
- "community": 49,
+ "community": 14,
"norm_label": ".__tablename__()"
},
{
@@ -6227,7 +6263,7 @@
"source_file": "app/models/base.py",
"source_location": "L15",
"id": "app_models_base_py_str",
- "community": 49,
+ "community": 14,
"norm_label": "str"
},
{
@@ -6236,7 +6272,7 @@
"source_file": "app/models/base.py",
"source_location": "L29",
"id": "models_base_basemodel_to_dict",
- "community": 49,
+ "community": 40,
"norm_label": ".to_dict()"
},
{
@@ -6245,7 +6281,7 @@
"source_file": "app/models/base.py",
"source_location": "L44",
"id": "models_base_softdeletemodel",
- "community": 49,
+ "community": 114,
"norm_label": "softdeletemodel"
},
{
@@ -6254,7 +6290,7 @@
"source_file": "app/models/base.py",
"source_location": "L51",
"id": "models_base_softdeletemodel_get_active",
- "community": 49,
+ "community": 114,
"norm_label": ".get_active()"
},
{
@@ -6263,7 +6299,7 @@
"source_file": "app/models/base.py",
"source_location": "L55",
"id": "models_base_softdeletemodel_soft_delete",
- "community": 49,
+ "community": 114,
"norm_label": ".soft_delete()"
},
{
@@ -6272,7 +6308,7 @@
"source_file": "app/models/base.py",
"source_location": "L60",
"id": "models_base_softdeletemodel_restore",
- "community": 49,
+ "community": 114,
"norm_label": ".restore()"
},
{
@@ -6281,7 +6317,7 @@
"source_file": "app/models/bx_models.py",
"source_location": "L1",
"id": "app_models_bx_models_py",
- "community": 18,
+ "community": 94,
"norm_label": "bx_models.py"
},
{
@@ -6299,7 +6335,7 @@
"source_file": "app/models/bx_models.py",
"source_location": "L33",
"id": "models_bx_models_bxworkflowdef",
- "community": 18,
+ "community": 94,
"norm_label": "bxworkflowdef"
},
{
@@ -6308,7 +6344,7 @@
"source_file": "app/models/bx_models.py",
"source_location": "L62",
"id": "models_bx_models_bxworkflownode",
- "community": 18,
+ "community": 94,
"norm_label": "bxworkflownode"
},
{
@@ -6380,7 +6416,7 @@
"source_file": "app/models/bx_models.py",
"source_location": "L1",
"id": "models_bx_models_rationale_1",
- "community": 18,
+ "community": 94,
"norm_label": "\u62a5\u9500(bx)\u6a21\u5757\u6570\u636e\u6a21\u578b \u2014 \u5bf9\u9f50 docs/sql/20260606_bx_tables.sql"
},
{
@@ -6812,7 +6848,7 @@
"source_file": "app/schemas/leave.py",
"source_location": "L1",
"id": "app_schemas_leave_py",
- "community": 118,
+ "community": 40,
"norm_label": "leave.py"
},
{
@@ -6821,7 +6857,7 @@
"source_file": "app/schemas/leave.py",
"source_location": "L7",
"id": "schemas_leave_leavecreate",
- "community": 118,
+ "community": 58,
"norm_label": "leavecreate"
},
{
@@ -6830,7 +6866,7 @@
"source_file": "app/schemas/leave.py",
"source_location": "L16",
"id": "schemas_leave_leaveupdate",
- "community": 118,
+ "community": 58,
"norm_label": "leaveupdate"
},
{
@@ -6848,7 +6884,7 @@
"source_file": "app/schemas/leave.py",
"source_location": "L39",
"id": "schemas_leave_config",
- "community": 118,
+ "community": 40,
"norm_label": "config"
},
{
@@ -6857,7 +6893,7 @@
"source_file": "app/schemas/leave.py",
"source_location": "L1",
"id": "schemas_leave_rationale_1",
- "community": 118,
+ "community": 40,
"norm_label": "pydantic schemas - \u8bf7\u5047\u7533\u8bf7"
},
{
@@ -6866,7 +6902,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L1",
"id": "app_schemas_pl_plan_py",
- "community": 90,
+ "community": 40,
"norm_label": "plan.py"
},
{
@@ -6875,7 +6911,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L16",
"id": "pl_plan_planproductbase",
- "community": 9,
+ "community": 48,
"norm_label": "planproductbase"
},
{
@@ -6893,7 +6929,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L50",
"id": "pl_plan_planproductupdate",
- "community": 9,
+ "community": 48,
"norm_label": "planproductupdate"
},
{
@@ -6911,7 +6947,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L86",
"id": "pl_plan_planbase",
- "community": 9,
+ "community": 48,
"norm_label": "planbase"
},
{
@@ -6920,7 +6956,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L126",
"id": "pl_plan_plancreate",
- "community": 90,
+ "community": 40,
"norm_label": "plancreate"
},
{
@@ -6938,7 +6974,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L146",
"id": "pl_plan_planupdate",
- "community": 90,
+ "community": 40,
"norm_label": "planupdate"
},
{
@@ -6947,7 +6983,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L186",
"id": "pl_plan_hazardcertreadybody",
- "community": 90,
+ "community": 40,
"norm_label": "hazardcertreadybody"
},
{
@@ -6956,7 +6992,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L191",
"id": "pl_plan_planread",
- "community": 90,
+ "community": 40,
"norm_label": "planread"
},
{
@@ -6965,7 +7001,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L218",
"id": "pl_plan_planwithproducts",
- "community": 90,
+ "community": 40,
"norm_label": "planwithproducts"
},
{
@@ -6974,7 +7010,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L222",
"id": "pl_plan_planinboundsliptemplatesave",
- "community": 90,
+ "community": 40,
"norm_label": "planinboundsliptemplatesave"
},
{
@@ -6983,7 +7019,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L227",
"id": "pl_plan_plandeliverysliptemplatesave",
- "community": 90,
+ "community": 40,
"norm_label": "plandeliverysliptemplatesave"
},
{
@@ -6992,7 +7028,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L234",
"id": "pl_plan_plansubpacksliptemplatesave",
- "community": 90,
+ "community": 40,
"norm_label": "plansubpacksliptemplatesave"
},
{
@@ -7001,7 +7037,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L246",
"id": "pl_plan_createfromcontractrequest",
- "community": 90,
+ "community": 40,
"norm_label": "createfromcontractrequest"
},
{
@@ -7010,7 +7046,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L254",
"id": "pl_plan_plancreatefull",
- "community": 90,
+ "community": 40,
"norm_label": "plancreatefull"
},
{
@@ -7028,7 +7064,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L280",
"id": "pl_plan_planproductcertitem",
- "community": 90,
+ "community": 40,
"norm_label": "planproductcertitem"
},
{
@@ -7037,7 +7073,7 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L288",
"id": "pl_plan_planproductcertsupdate",
- "community": 90,
+ "community": 40,
"norm_label": "planproductcertsupdate"
},
{
@@ -7064,16 +7100,34 @@
"source_file": "app/schemas/pl/plan.py",
"source_location": "L310",
"id": "pl_plan_planarchivebody",
- "community": 90,
+ "community": 40,
"norm_label": "planarchivebody"
},
+ {
+ "label": "PlanDriverFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L316",
+ "id": "pl_plan_plandriverfeedbackupdatebody",
+ "community": 40,
+ "norm_label": "plandriverfeedbackupdatebody"
+ },
+ {
+ "label": "PlanSiteFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L324",
+ "id": "pl_plan_plansitefeedbackupdatebody",
+ "community": 40,
+ "norm_label": "plansitefeedbackupdatebody"
+ },
{
"label": "PlanListResponse",
"file_type": "code",
"source_file": "app/schemas/pl/plan.py",
- "source_location": "L316",
+ "source_location": "L337",
"id": "pl_plan_planlistresponse",
- "community": 90,
+ "community": 40,
"norm_label": "planlistresponse"
},
{
@@ -7082,7 +7136,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L1",
"id": "app_schemas_pl_transport_py",
- "community": 90,
+ "community": 40,
"norm_label": "transport.py"
},
{
@@ -7091,7 +7145,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L17",
"id": "pl_transport_transportbase",
- "community": 9,
+ "community": 48,
"norm_label": "transportbase"
},
{
@@ -7100,7 +7154,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L41",
"id": "pl_transport_transportcreate",
- "community": 9,
+ "community": 40,
"norm_label": "transportcreate"
},
{
@@ -7109,7 +7163,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L46",
"id": "pl_transport_transportarrange",
- "community": 90,
+ "community": 40,
"norm_label": "transportarrange"
},
{
@@ -7118,7 +7172,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L74",
"id": "pl_transport_transportinventorylinkread",
- "community": 90,
+ "community": 40,
"norm_label": "transportinventorylinkread"
},
{
@@ -7127,7 +7181,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L84",
"id": "pl_transport_transportsitelinkread",
- "community": 90,
+ "community": 40,
"norm_label": "transportsitelinkread"
},
{
@@ -7136,7 +7190,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L98",
"id": "pl_transport_transportupdate",
- "community": 9,
+ "community": 48,
"norm_label": "transportupdate"
},
{
@@ -7145,7 +7199,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L122",
"id": "pl_transport_transportread",
- "community": 90,
+ "community": 40,
"norm_label": "transportread"
},
{
@@ -7154,7 +7208,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L141",
"id": "pl_transport_transportarrangeresult",
- "community": 90,
+ "community": 40,
"norm_label": "transportarrangeresult"
},
{
@@ -7172,7 +7226,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L161",
"id": "pl_transport_transportwithplans",
- "community": 9,
+ "community": 48,
"norm_label": "transportwithplans"
},
{
@@ -7181,7 +7235,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L170",
"id": "pl_transport_transportfeedback",
- "community": 90,
+ "community": 40,
"norm_label": "transportfeedback"
},
{
@@ -7235,7 +7289,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L262",
"id": "pl_transport_approvalsubmit",
- "community": 90,
+ "community": 40,
"norm_label": "approvalsubmit"
},
{
@@ -7244,7 +7298,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L267",
"id": "pl_transport_approvalrequest",
- "community": 90,
+ "community": 40,
"norm_label": "approvalrequest"
},
{
@@ -7253,7 +7307,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L273",
"id": "pl_transport_approvalrecordread",
- "community": 90,
+ "community": 40,
"norm_label": "approvalrecordread"
},
{
@@ -7262,7 +7316,7 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L292",
"id": "pl_transport_transportlistquery",
- "community": 9,
+ "community": 7,
"norm_label": "transportlistquery"
},
{
@@ -7271,16 +7325,34 @@
"source_file": "app/schemas/pl/transport.py",
"source_location": "L304",
"id": "pl_transport_transportlistresponse",
- "community": 90,
+ "community": 40,
"norm_label": "transportlistresponse"
},
+ {
+ "label": "menu_badge.py",
+ "file_type": "code",
+ "source_file": "app/schemas/pl/menu_badge.py",
+ "source_location": "L1",
+ "id": "app_schemas_pl_menu_badge_py",
+ "community": 9,
+ "norm_label": "menu_badge.py"
+ },
+ {
+ "label": "PlMenuBadgeStatsRead",
+ "file_type": "code",
+ "source_file": "app/schemas/pl/menu_badge.py",
+ "source_location": "L6",
+ "id": "pl_menu_badge_plmenubadgestatsread",
+ "community": 9,
+ "norm_label": "plmenubadgestatsread"
+ },
{
"label": "vehicle_maintenance.py",
"file_type": "code",
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L1",
"id": "app_schemas_pl_vehicle_maintenance_py",
- "community": 136,
+ "community": 40,
"norm_label": "vehicle_maintenance.py"
},
{
@@ -7289,7 +7361,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L9",
"id": "pl_vehicle_maintenance_vehiclemaintenanceapplycreate",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceapplycreate"
},
{
@@ -7298,7 +7370,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L24",
"id": "pl_vehicle_maintenance_vehiclemaintenanceapplyupdate",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceapplyupdate"
},
{
@@ -7307,7 +7379,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L28",
"id": "pl_vehicle_maintenance_vehiclemaintenanceapplyread",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceapplyread"
},
{
@@ -7316,7 +7388,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L49",
"id": "pl_vehicle_maintenance_vehiclemaintenanceapplylistresponse",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceapplylistresponse"
},
{
@@ -7325,7 +7397,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L58",
"id": "pl_vehicle_maintenance_vehiclemaintenanceapplyreminder",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceapplyreminder"
},
{
@@ -7334,7 +7406,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L72",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocesscreate",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceprocesscreate"
},
{
@@ -7343,7 +7415,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L85",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocesscreate_validate_amount",
- "community": 136,
+ "community": 40,
"norm_label": ".validate_amount()"
},
{
@@ -7352,7 +7424,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L85",
"id": "app_schemas_pl_vehicle_maintenance_py_decimal",
- "community": 136,
+ "community": 40,
"norm_label": "decimal"
},
{
@@ -7361,7 +7433,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L91",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocessupdate",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceprocessupdate"
},
{
@@ -7370,7 +7442,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L95",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocessread",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceprocessread"
},
{
@@ -7379,7 +7451,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L115",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocesslistresponse",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceprocesslistresponse"
},
{
@@ -7397,7 +7469,7 @@
"source_file": "app/schemas/pl/vehicle_maintenance.py",
"source_location": "L147",
"id": "pl_vehicle_maintenance_vehiclemaintenanceprocessboardlistresponse",
- "community": 136,
+ "community": 40,
"norm_label": "vehiclemaintenanceprocessboardlistresponse"
},
{
@@ -7406,7 +7478,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L1",
"id": "app_schemas_pl_resource_snapshot_py",
- "community": 19,
+ "community": 96,
"norm_label": "resource_snapshot.py"
},
{
@@ -7415,7 +7487,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L11",
"id": "pl_resource_snapshot_snapshotcertread",
- "community": 19,
+ "community": 96,
"norm_label": "snapshotcertread"
},
{
@@ -7424,7 +7496,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L29",
"id": "pl_resource_snapshot_snapshotpersonnelrow",
- "community": 19,
+ "community": 96,
"norm_label": "snapshotpersonnelrow"
},
{
@@ -7433,7 +7505,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L45",
"id": "pl_resource_snapshot_transportresourcesnapshot",
- "community": 19,
+ "community": 96,
"norm_label": "transportresourcesnapshot"
},
{
@@ -7442,7 +7514,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L65",
"id": "pl_resource_snapshot_parse_resource_snapshot",
- "community": 19,
+ "community": 96,
"norm_label": "parse_resource_snapshot()"
},
{
@@ -7451,7 +7523,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L65",
"id": "app_schemas_pl_resource_snapshot_py_any",
- "community": 19,
+ "community": 96,
"norm_label": "any"
},
{
@@ -7460,7 +7532,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L81",
"id": "pl_resource_snapshot_planresourcesnapshotmixin",
- "community": 90,
+ "community": 40,
"norm_label": "planresourcesnapshotmixin"
},
{
@@ -7469,7 +7541,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L91",
"id": "pl_resource_snapshot_planresourcesnapshotmixin_coerce_resource_snapshot",
- "community": 19,
+ "community": 96,
"norm_label": "._coerce_resource_snapshot()"
},
{
@@ -7478,7 +7550,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L1",
"id": "pl_resource_snapshot_rationale_1",
- "community": 19,
+ "community": 96,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212 - \u5b89\u6392\u8fd0\u8f93\u65f6\u8f66\u8f86/\u4eba\u5458/\u8bc1\u4ef6\u8d44\u6e90\u5feb\u7167 schema"
},
{
@@ -7487,7 +7559,7 @@
"source_file": "app/schemas/pl/resource_snapshot.py",
"source_location": "L66",
"id": "pl_resource_snapshot_rationale_66",
- "community": 19,
+ "community": 96,
"norm_label": "\u4ece orm \u6587\u672c\u5217\u6216 dict \u89e3\u6790\u5feb\u7167\u3002"
},
{
@@ -7496,7 +7568,7 @@
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L1",
"id": "app_schemas_pl_init_py",
- "community": 9,
+ "community": 49,
"norm_label": "__init__.py"
},
{
@@ -7505,7 +7577,7 @@
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L1",
"id": "pl_init_rationale_1",
- "community": 9,
+ "community": 49,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - pydantic schema"
},
{
@@ -7514,7 +7586,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L1",
"id": "app_schemas_pl_freight_py",
- "community": 49,
+ "community": 40,
"norm_label": "freight.py"
},
{
@@ -7523,7 +7595,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L14",
"id": "pl_freight_freightsettlementbase",
- "community": 9,
+ "community": 48,
"norm_label": "freightsettlementbase"
},
{
@@ -7532,7 +7604,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L26",
"id": "pl_freight_freightsettlementcreate",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementcreate"
},
{
@@ -7541,7 +7613,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L32",
"id": "pl_freight_freightsettlementcreate_check_ids",
- "community": 49,
+ "community": 40,
"norm_label": ".check_ids()"
},
{
@@ -7550,7 +7622,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L38",
"id": "pl_freight_freightsettlementupdate",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementupdate"
},
{
@@ -7559,7 +7631,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L50",
"id": "pl_freight_freightsettlementread",
- "community": 9,
+ "community": 49,
"norm_label": "freightsettlementread"
},
{
@@ -7577,7 +7649,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L78",
"id": "pl_freight_freightsettlementtransportread",
- "community": 9,
+ "community": 48,
"norm_label": "freightsettlementtransportread"
},
{
@@ -7586,7 +7658,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L88",
"id": "pl_freight_unsettledplanitem",
- "community": 49,
+ "community": 40,
"norm_label": "unsettledplanitem"
},
{
@@ -7595,7 +7667,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L108",
"id": "pl_freight_unsettledplanlistresponse",
- "community": 49,
+ "community": 40,
"norm_label": "unsettledplanlistresponse"
},
{
@@ -7604,7 +7676,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L113",
"id": "pl_freight_settlementplansummary",
- "community": 49,
+ "community": 40,
"norm_label": "settlementplansummary"
},
{
@@ -7613,7 +7685,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L122",
"id": "pl_freight_settlementapprovalflowitem",
- "community": 49,
+ "community": 40,
"norm_label": "settlementapprovalflowitem"
},
{
@@ -7622,7 +7694,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L136",
"id": "pl_freight_freightsettlementwithtransports",
- "community": 9,
+ "community": 49,
"norm_label": "freightsettlementwithtransports"
},
{
@@ -7631,7 +7703,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L154",
"id": "pl_freight_freightsettlementsubmitapprovalbody",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementsubmitapprovalbody"
},
{
@@ -7640,7 +7712,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L161",
"id": "pl_freight_freightsettlementapprovalactionbody",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementapprovalactionbody"
},
{
@@ -7649,7 +7721,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L166",
"id": "pl_freight_freightsettlementdisbursebody",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementdisbursebody"
},
{
@@ -7658,7 +7730,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L179",
"id": "pl_freight_remittancevouchercreate",
- "community": 49,
+ "community": 40,
"norm_label": "remittancevouchercreate"
},
{
@@ -7667,7 +7739,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L188",
"id": "pl_freight_remittancevoucherread",
- "community": 49,
+ "community": 40,
"norm_label": "remittancevoucherread"
},
{
@@ -7685,7 +7757,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L216",
"id": "pl_freight_freightsettlementlistresponse",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementlistresponse"
},
{
@@ -7694,7 +7766,7 @@
"source_file": "app/schemas/pl/freight.py",
"source_location": "L221",
"id": "pl_freight_freightsettlementbytransportread",
- "community": 49,
+ "community": 40,
"norm_label": "freightsettlementbytransportread"
},
{
@@ -7703,7 +7775,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L1",
"id": "app_schemas_pl_transport_address_py",
- "community": 126,
+ "community": 40,
"norm_label": "transport_address.py"
},
{
@@ -7712,7 +7784,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L9",
"id": "pl_transport_address_transportaddressbase",
- "community": 126,
+ "community": 40,
"norm_label": "transportaddressbase"
},
{
@@ -7721,7 +7793,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L22",
"id": "pl_transport_address_transportaddresscreate",
- "community": 126,
+ "community": 40,
"norm_label": "transportaddresscreate"
},
{
@@ -7730,7 +7802,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L24",
"id": "pl_transport_address_transportaddresscreate_validate_coordinates",
- "community": 126,
+ "community": 40,
"norm_label": ".validate_coordinates()"
},
{
@@ -7739,7 +7811,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L30",
"id": "pl_transport_address_transportaddressupdate",
- "community": 126,
+ "community": 40,
"norm_label": "transportaddressupdate"
},
{
@@ -7748,7 +7820,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L43",
"id": "pl_transport_address_transportaddressread",
- "community": 126,
+ "community": 40,
"norm_label": "transportaddressread"
},
{
@@ -7757,7 +7829,7 @@
"source_file": "app/schemas/pl/transport_address.py",
"source_location": "L57",
"id": "pl_transport_address_transportaddresslistresponse",
- "community": 126,
+ "community": 40,
"norm_label": "transportaddresslistresponse"
},
{
@@ -7766,7 +7838,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L1",
"id": "app_schemas_pl_base_data_py",
- "community": 64,
+ "community": 49,
"norm_label": "base_data.py"
},
{
@@ -7775,7 +7847,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L19",
"id": "pl_base_data_carrierbase",
- "community": 64,
+ "community": 49,
"norm_label": "carrierbase"
},
{
@@ -7784,7 +7856,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L27",
"id": "pl_base_data_carrierqualificationbase",
- "community": 64,
+ "community": 49,
"norm_label": "carrierqualificationbase"
},
{
@@ -7793,7 +7865,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L45",
"id": "pl_base_data_carriercreate",
- "community": 64,
+ "community": 49,
"norm_label": "carriercreate"
},
{
@@ -7802,7 +7874,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L56",
"id": "pl_base_data_carriercreate_validate_qualification",
- "community": 64,
+ "community": 49,
"norm_label": ".validate_qualification()"
},
{
@@ -7811,7 +7883,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L66",
"id": "pl_base_data_carrierupdate",
- "community": 64,
+ "community": 49,
"norm_label": "carrierupdate"
},
{
@@ -7820,7 +7892,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L88",
"id": "pl_base_data_carrierupdate_validate_qualification_patch",
- "community": 64,
+ "community": 49,
"norm_label": ".validate_qualification_patch()"
},
{
@@ -7829,7 +7901,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L109",
"id": "pl_base_data_carrierauditreject",
- "community": 64,
+ "community": 49,
"norm_label": "carrierauditreject"
},
{
@@ -7838,7 +7910,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L115",
"id": "pl_base_data_carrierread",
- "community": 64,
+ "community": 49,
"norm_label": "carrierread"
},
{
@@ -7874,7 +7946,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L181",
"id": "pl_base_data_certrow",
- "community": 19,
+ "community": 96,
"norm_label": "certrow"
},
{
@@ -7883,7 +7955,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L196",
"id": "pl_base_data_certread",
- "community": 19,
+ "community": 96,
"norm_label": "certread"
},
{
@@ -7892,7 +7964,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L212",
"id": "pl_base_data_vehiclebase",
- "community": 64,
+ "community": 49,
"norm_label": "vehiclebase"
},
{
@@ -7901,7 +7973,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L225",
"id": "pl_base_data_vehiclecreate",
- "community": 64,
+ "community": 49,
"norm_label": "vehiclecreate"
},
{
@@ -7910,7 +7982,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L231",
"id": "pl_base_data_vehicleupdate",
- "community": 64,
+ "community": 49,
"norm_label": "vehicleupdate"
},
{
@@ -7919,7 +7991,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L245",
"id": "pl_base_data_vehicleread",
- "community": 64,
+ "community": 49,
"norm_label": "vehicleread"
},
{
@@ -7928,7 +8000,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L259",
"id": "pl_base_data_vehicledetailread",
- "community": 64,
+ "community": 49,
"norm_label": "vehicledetailread"
},
{
@@ -7937,7 +8009,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L270",
"id": "pl_base_data_personnelbase",
- "community": 64,
+ "community": 49,
"norm_label": "personnelbase"
},
{
@@ -7946,7 +8018,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L279",
"id": "pl_base_data_personnelcreate",
- "community": 64,
+ "community": 49,
"norm_label": "personnelcreate"
},
{
@@ -7955,7 +8027,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L284",
"id": "pl_base_data_personnelupdate",
- "community": 64,
+ "community": 49,
"norm_label": "personnelupdate"
},
{
@@ -7964,7 +8036,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L295",
"id": "pl_base_data_personnelread",
- "community": 64,
+ "community": 49,
"norm_label": "personnelread"
},
{
@@ -7973,7 +8045,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L309",
"id": "pl_base_data_personneldetailread",
- "community": 64,
+ "community": 49,
"norm_label": "personneldetailread"
},
{
@@ -7982,7 +8054,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L319",
"id": "pl_base_data_driverbase",
- "community": 64,
+ "community": 49,
"norm_label": "driverbase"
},
{
@@ -7991,7 +8063,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L332",
"id": "pl_base_data_drivercreate",
- "community": 64,
+ "community": 49,
"norm_label": "drivercreate"
},
{
@@ -8000,7 +8072,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L336",
"id": "pl_base_data_driverupdate",
- "community": 64,
+ "community": 49,
"norm_label": "driverupdate"
},
{
@@ -8009,7 +8081,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L350",
"id": "pl_base_data_driverread",
- "community": 64,
+ "community": 49,
"norm_label": "driverread"
},
{
@@ -8018,7 +8090,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L363",
"id": "pl_base_data_driverlistresponse",
- "community": 64,
+ "community": 49,
"norm_label": "driverlistresponse"
},
{
@@ -8027,7 +8099,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L373",
"id": "pl_base_data_vehicledrivercreate",
- "community": 64,
+ "community": 49,
"norm_label": "vehicledrivercreate"
},
{
@@ -8036,7 +8108,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L380",
"id": "pl_base_data_vehicledriverread",
- "community": 64,
+ "community": 49,
"norm_label": "vehicledriverread"
},
{
@@ -8045,7 +8117,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L390",
"id": "pl_base_data_carrierlistresponse",
- "community": 64,
+ "community": 49,
"norm_label": "carrierlistresponse"
},
{
@@ -8054,7 +8126,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L395",
"id": "pl_base_data_vehiclelistresponse",
- "community": 64,
+ "community": 49,
"norm_label": "vehiclelistresponse"
},
{
@@ -8063,7 +8135,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L400",
"id": "pl_base_data_personnellistresponse",
- "community": 64,
+ "community": 49,
"norm_label": "personnellistresponse"
},
{
@@ -8072,7 +8144,7 @@
"source_file": "app/schemas/pl/base_data.py",
"source_location": "L1",
"id": "app_schemas_pl_base_data_py_pl_base_data_rationale_1",
- "community": 64,
+ "community": 49,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - \u57fa\u7840\u6570\u636e schema(\u627f\u8fd0\u5546\u3001\u8f66\u8f86\u3001\u4eba\u5458\u3001\u8bc1\u4e66)"
},
{
@@ -8081,7 +8153,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L1",
"id": "app_schemas_pl_vehicle_urea_py",
- "community": 135,
+ "community": 11,
"norm_label": "vehicle_urea.py"
},
{
@@ -8090,7 +8162,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L9",
"id": "pl_vehicle_urea_vehicleureaapplycreate",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureaapplycreate"
},
{
@@ -8099,7 +8171,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L24",
"id": "pl_vehicle_urea_vehicleureaapplycreate_validate_quantity",
- "community": 135,
+ "community": 11,
"norm_label": ".validate_quantity()"
},
{
@@ -8108,7 +8180,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L24",
"id": "app_schemas_pl_vehicle_urea_py_decimal",
- "community": 135,
+ "community": 11,
"norm_label": "decimal"
},
{
@@ -8117,7 +8189,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L31",
"id": "pl_vehicle_urea_vehicleureaapplycreate_validate_apply_amount",
- "community": 135,
+ "community": 11,
"norm_label": ".validate_apply_amount()"
},
{
@@ -8126,7 +8198,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L37",
"id": "pl_vehicle_urea_vehicleureaapplyupdate",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureaapplyupdate"
},
{
@@ -8135,7 +8207,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L41",
"id": "pl_vehicle_urea_vehicleureaapplyread",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureaapplyread"
},
{
@@ -8144,7 +8216,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L61",
"id": "pl_vehicle_urea_vehicleureaapplylistresponse",
- "community": 135,
+ "community": 40,
"norm_label": "vehicleureaapplylistresponse"
},
{
@@ -8153,7 +8225,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L70",
"id": "pl_vehicle_urea_vehicleureadisbursecreate",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureadisbursecreate"
},
{
@@ -8162,7 +8234,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L83",
"id": "pl_vehicle_urea_vehicleureadisbursecreate_validate_amount",
- "community": 135,
+ "community": 11,
"norm_label": ".validate_amount()"
},
{
@@ -8171,7 +8243,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L89",
"id": "pl_vehicle_urea_vehicleureadisburseupdate",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureadisburseupdate"
},
{
@@ -8180,7 +8252,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L93",
"id": "pl_vehicle_urea_vehicleureadisburseread",
- "community": 135,
+ "community": 11,
"norm_label": "vehicleureadisburseread"
},
{
@@ -8189,7 +8261,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L113",
"id": "pl_vehicle_urea_vehicleureadisburselistresponse",
- "community": 135,
+ "community": 40,
"norm_label": "vehicleureadisburselistresponse"
},
{
@@ -8207,7 +8279,7 @@
"source_file": "app/schemas/pl/vehicle_urea.py",
"source_location": "L144",
"id": "pl_vehicle_urea_vehicleureadisburseboardlistresponse",
- "community": 135,
+ "community": 40,
"norm_label": "vehicleureadisburseboardlistresponse"
},
{
@@ -8216,7 +8288,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L1",
"id": "app_schemas_pl_vehicle_recharge_py",
- "community": 132,
+ "community": 40,
"norm_label": "vehicle_recharge.py"
},
{
@@ -8225,7 +8297,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L11",
"id": "pl_vehicle_recharge_vehiclerechargeapplycreate",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargeapplycreate"
},
{
@@ -8234,7 +8306,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L24",
"id": "pl_vehicle_recharge_vehiclerechargeapplycreate_validate_recharge_type",
- "community": 132,
+ "community": 14,
"norm_label": ".validate_recharge_type()"
},
{
@@ -8243,7 +8315,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L24",
"id": "app_schemas_pl_vehicle_recharge_py_str",
- "community": 132,
+ "community": 14,
"norm_label": "str"
},
{
@@ -8252,7 +8324,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L30",
"id": "pl_vehicle_recharge_vehiclerechargeapplyupdate",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargeapplyupdate"
},
{
@@ -8261,7 +8333,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L34",
"id": "pl_vehicle_recharge_vehiclerechargeapplyread",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargeapplyread"
},
{
@@ -8270,7 +8342,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L52",
"id": "pl_vehicle_recharge_vehiclerechargeapplylistresponse",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargeapplylistresponse"
},
{
@@ -8279,7 +8351,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L61",
"id": "pl_vehicle_recharge_vehiclerechargeapplyoption",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargeapplyoption"
},
{
@@ -8288,7 +8360,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L70",
"id": "pl_vehicle_recharge_vehiclerechargerecordcreate",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargerecordcreate"
},
{
@@ -8297,7 +8369,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L85",
"id": "pl_vehicle_recharge_vehiclerechargerecordcreate_validate_recharge_type",
- "community": 132,
+ "community": 14,
"norm_label": ".validate_recharge_type()"
},
{
@@ -8306,7 +8378,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L92",
"id": "pl_vehicle_recharge_vehiclerechargerecordcreate_validate_amount",
- "community": 132,
+ "community": 40,
"norm_label": ".validate_amount()"
},
{
@@ -8315,7 +8387,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L92",
"id": "app_schemas_pl_vehicle_recharge_py_decimal",
- "community": 132,
+ "community": 40,
"norm_label": "decimal"
},
{
@@ -8324,7 +8396,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L98",
"id": "pl_vehicle_recharge_vehiclerechargerecordupdate",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargerecordupdate"
},
{
@@ -8333,7 +8405,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L102",
"id": "pl_vehicle_recharge_vehiclerechargerecordread",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargerecordread"
},
{
@@ -8342,7 +8414,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L123",
"id": "pl_vehicle_recharge_vehiclerechargerecordlistresponse",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargerecordlistresponse"
},
{
@@ -8360,7 +8432,7 @@
"source_file": "app/schemas/pl/vehicle_recharge.py",
"source_location": "L156",
"id": "pl_vehicle_recharge_vehiclerechargedisburseboardlistresponse",
- "community": 132,
+ "community": 40,
"norm_label": "vehiclerechargedisburseboardlistresponse"
},
{
@@ -8423,7 +8495,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L1",
"id": "app_schemas_pl_inventory_py",
- "community": 9,
+ "community": 49,
"norm_label": "inventory.py"
},
{
@@ -8432,7 +8504,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L14",
"id": "pl_inventory_inventoryread",
- "community": 9,
+ "community": 48,
"norm_label": "inventoryread"
},
{
@@ -8441,7 +8513,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L36",
"id": "pl_inventory_inventorytransactionread",
- "community": 9,
+ "community": 48,
"norm_label": "inventorytransactionread"
},
{
@@ -8450,7 +8522,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L57",
"id": "pl_inventory_inventorywarningread",
- "community": 9,
+ "community": 49,
"norm_label": "inventorywarningread"
},
{
@@ -8459,7 +8531,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L72",
"id": "pl_inventory_inventorywarningupdate",
- "community": 9,
+ "community": 49,
"norm_label": "inventorywarningupdate"
},
{
@@ -8468,7 +8540,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L78",
"id": "pl_inventory_inventorywarningthreshold",
- "community": 9,
+ "community": 49,
"norm_label": "inventorywarningthreshold"
},
{
@@ -8477,7 +8549,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L90",
"id": "pl_inventory_documentreminderread",
- "community": 9,
+ "community": 49,
"norm_label": "documentreminderread"
},
{
@@ -8486,7 +8558,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L108",
"id": "pl_inventory_documentreminderupdate",
- "community": 9,
+ "community": 49,
"norm_label": "documentreminderupdate"
},
{
@@ -8495,7 +8567,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L114",
"id": "pl_inventory_documentreminderstatsread",
- "community": 9,
+ "community": 49,
"norm_label": "documentreminderstatsread"
},
{
@@ -8504,7 +8576,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L124",
"id": "pl_inventory_inventoryledgerquery",
- "community": 9,
+ "community": 48,
"norm_label": "inventoryledgerquery"
},
{
@@ -8513,7 +8585,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L131",
"id": "pl_inventory_inventoryledgerresponse",
- "community": 9,
+ "community": 49,
"norm_label": "inventoryledgerresponse"
},
{
@@ -8522,7 +8594,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L136",
"id": "pl_inventory_inventorytransactionquery",
- "community": 9,
+ "community": 48,
"norm_label": "inventorytransactionquery"
},
{
@@ -8531,7 +8603,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L146",
"id": "pl_inventory_inventorytransactionresponse",
- "community": 9,
+ "community": 49,
"norm_label": "inventorytransactionresponse"
},
{
@@ -8540,7 +8612,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L151",
"id": "pl_inventory_inventorysummaryquery",
- "community": 9,
+ "community": 48,
"norm_label": "inventorysummaryquery"
},
{
@@ -8549,7 +8621,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L159",
"id": "pl_inventory_inventorysummaryitem",
- "community": 9,
+ "community": 48,
"norm_label": "inventorysummaryitem"
},
{
@@ -8558,7 +8630,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L168",
"id": "pl_inventory_inventorysummaryresponse",
- "community": 9,
+ "community": 49,
"norm_label": "inventorysummaryresponse"
},
{
@@ -8567,7 +8639,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L172",
"id": "pl_inventory_transportstatsquery",
- "community": 9,
+ "community": 48,
"norm_label": "transportstatsquery"
},
{
@@ -8576,7 +8648,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L179",
"id": "pl_inventory_transportstatsitem",
- "community": 9,
+ "community": 48,
"norm_label": "transportstatsitem"
},
{
@@ -8585,7 +8657,7 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L186",
"id": "pl_inventory_transportstatsresponse",
- "community": 9,
+ "community": 48,
"norm_label": "transportstatsresponse"
},
{
@@ -8603,7 +8675,7 @@
"source_file": "app/schemas/monitor/operlog.py",
"source_location": "L1",
"id": "app_schemas_monitor_operlog_py",
- "community": 151,
+ "community": 58,
"norm_label": "operlog.py"
},
{
@@ -8612,7 +8684,7 @@
"source_file": "app/schemas/monitor/operlog.py",
"source_location": "L8",
"id": "monitor_operlog_operloglistbody",
- "community": 151,
+ "community": 58,
"norm_label": "operloglistbody"
},
{
@@ -8621,7 +8693,7 @@
"source_file": "app/schemas/monitor/operlog.py",
"source_location": "L21",
"id": "monitor_operlog_operlogdetailbody",
- "community": 151,
+ "community": 58,
"norm_label": "operlogdetailbody"
},
{
@@ -8630,7 +8702,7 @@
"source_file": "app/schemas/monitor/operlog.py",
"source_location": "L1",
"id": "monitor_operlog_rationale_1",
- "community": 151,
+ "community": 58,
"norm_label": "\u64cd\u4f5c\u65e5\u5fd7(\u517c\u5bb9 ruoyi operlog \u89c6\u56fe)"
},
{
@@ -8648,7 +8720,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L9",
"id": "bx_reimburse_coerce_id",
- "community": 128,
+ "community": 38,
"norm_label": "_coerce_id()"
},
{
@@ -8657,7 +8729,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L15",
"id": "bx_reimburse_reimbursedetailcreate",
- "community": 128,
+ "community": 40,
"norm_label": "reimbursedetailcreate"
},
{
@@ -8666,7 +8738,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L24",
"id": "bx_reimburse_reimbursedetailcreate_validate_expense_item_id",
- "community": 128,
+ "community": 38,
"norm_label": ".validate_expense_item_id()"
},
{
@@ -8684,7 +8756,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L41",
"id": "bx_reimburse_reimburseapplycreate",
- "community": 49,
+ "community": 40,
"norm_label": "reimburseapplycreate"
},
{
@@ -8693,7 +8765,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L51",
"id": "bx_reimburse_reimburseapplycreate_details_must_not_be_empty",
- "community": 49,
+ "community": 40,
"norm_label": ".details_must_not_be_empty()"
},
{
@@ -8729,7 +8801,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L101",
"id": "bx_reimburse_reimburseapprovalout",
- "community": 30,
+ "community": 42,
"norm_label": "reimburseapprovalout"
},
{
@@ -8738,7 +8810,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L114",
"id": "bx_reimburse_reimbursemystatsout",
- "community": 30,
+ "community": 42,
"norm_label": "reimbursemystatsout"
},
{
@@ -8747,7 +8819,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L126",
"id": "bx_reimburse_reimburseapproverpendingstatsout",
- "community": 30,
+ "community": 42,
"norm_label": "reimburseapproverpendingstatsout"
},
{
@@ -8774,7 +8846,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L149",
"id": "bx_reimburse_offsetrequest_validate_advance_id",
- "community": 128,
+ "community": 38,
"norm_label": ".validate_advance_id()"
},
{
@@ -8783,7 +8855,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L156",
"id": "bx_reimburse_offsetitem",
- "community": 128,
+ "community": 40,
"norm_label": "offsetitem"
},
{
@@ -8792,7 +8864,7 @@
"source_file": "app/schemas/bx/reimburse.py",
"source_location": "L164",
"id": "bx_reimburse_offsetitem_validate_advance_id",
- "community": 128,
+ "community": 38,
"norm_label": ".validate_advance_id()"
},
{
@@ -8828,7 +8900,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L1",
"id": "app_schemas_bx_expense_item_py",
- "community": 127,
+ "community": 135,
"norm_label": "expense_item.py"
},
{
@@ -8837,7 +8909,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L7",
"id": "bx_expense_item_coerce_id",
- "community": 127,
+ "community": 135,
"norm_label": "_coerce_id()"
},
{
@@ -8846,7 +8918,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L7",
"id": "app_schemas_bx_expense_item_py_str",
- "community": 127,
+ "community": 135,
"norm_label": "str"
},
{
@@ -8855,7 +8927,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L13",
"id": "bx_expense_item_expenseitemcreate",
- "community": 127,
+ "community": 135,
"norm_label": "expenseitemcreate"
},
{
@@ -8864,7 +8936,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L26",
"id": "bx_expense_item_expenseitemcreate_validate_parent_id",
- "community": 127,
+ "community": 135,
"norm_label": ".validate_parent_id()"
},
{
@@ -8873,7 +8945,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L30",
"id": "bx_expense_item_expenseitemupdate",
- "community": 127,
+ "community": 135,
"norm_label": "expenseitemupdate"
},
{
@@ -8882,7 +8954,7 @@
"source_file": "app/schemas/bx/expense_item.py",
"source_location": "L43",
"id": "bx_expense_item_expenseitemupdate_validate_parent_id",
- "community": 127,
+ "community": 135,
"norm_label": ".validate_parent_id()"
},
{
@@ -8900,7 +8972,7 @@
"source_file": "app/schemas/bx/__init__.py",
"source_location": "L1",
"id": "app_schemas_bx_init_py",
- "community": 108,
+ "community": 124,
"norm_label": "__init__.py"
},
{
@@ -8909,7 +8981,7 @@
"source_file": "app/schemas/bx/__init__.py",
"source_location": "L1",
"id": "app_schemas_bx_init_py_bx_init_rationale_1",
- "community": 108,
+ "community": 124,
"norm_label": "\u62a5\u9500(bx)pydantic \u6a21\u578b \u2014 \u54cd\u5e94\u534f\u8bae\u4e0e bx \u539f\u7cfb\u7edf\u4fdd\u6301\u4e00\u81f4"
},
{
@@ -8918,7 +8990,7 @@
"source_file": "app/schemas/bx/attachment.py",
"source_location": "L1",
"id": "app_schemas_bx_attachment_py",
- "community": 49,
+ "community": 40,
"norm_label": "attachment.py"
},
{
@@ -8927,7 +8999,7 @@
"source_file": "app/schemas/bx/attachment.py",
"source_location": "L9",
"id": "bx_attachment_attachmentout",
- "community": 49,
+ "community": 40,
"norm_label": "attachmentout"
},
{
@@ -8945,7 +9017,7 @@
"source_file": "app/schemas/bx/advance.py",
"source_location": "L9",
"id": "bx_advance_coerce_optional_id",
- "community": 42,
+ "community": 40,
"norm_label": "_coerce_optional_id()"
},
{
@@ -8954,7 +9026,7 @@
"source_file": "app/schemas/bx/advance.py",
"source_location": "L16",
"id": "bx_advance_advanceapplycreate",
- "community": 42,
+ "community": 40,
"norm_label": "advanceapplycreate"
},
{
@@ -8963,7 +9035,7 @@
"source_file": "app/schemas/bx/advance.py",
"source_location": "L27",
"id": "bx_advance_advanceapplycreate_validate_expense_item_id",
- "community": 42,
+ "community": 40,
"norm_label": ".validate_expense_item_id()"
},
{
@@ -8972,7 +9044,7 @@
"source_file": "app/schemas/bx/advance.py",
"source_location": "L31",
"id": "bx_advance_advanceapplyupdate",
- "community": 42,
+ "community": 40,
"norm_label": "advanceapplyupdate"
},
{
@@ -8981,7 +9053,7 @@
"source_file": "app/schemas/bx/advance.py",
"source_location": "L42",
"id": "bx_advance_advanceapplyupdate_validate_expense_item_id",
- "community": 42,
+ "community": 40,
"norm_label": ".validate_expense_item_id()"
},
{
@@ -9071,7 +9143,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L1",
"id": "app_schemas_bx_common_py",
- "community": 119,
+ "community": 124,
"norm_label": "common.py"
},
{
@@ -9080,7 +9152,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L11",
"id": "bx_common_dt_to_str",
- "community": 119,
+ "community": 124,
"norm_label": "_dt_to_str()"
},
{
@@ -9089,7 +9161,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L11",
"id": "app_schemas_bx_common_py_datetime",
- "community": 119,
+ "community": 124,
"norm_label": "datetime"
},
{
@@ -9098,7 +9170,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L11",
"id": "app_schemas_bx_common_py_str",
- "community": 119,
+ "community": 124,
"norm_label": "str"
},
{
@@ -9107,7 +9179,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L17",
"id": "bx_common_date_to_str",
- "community": 119,
+ "community": 124,
"norm_label": "_date_to_str()"
},
{
@@ -9116,7 +9188,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L17",
"id": "app_schemas_bx_common_py_date",
- "community": 119,
+ "community": 124,
"norm_label": "date"
},
{
@@ -9143,7 +9215,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L42",
"id": "bx_common_pageddata",
- "community": 30,
+ "community": 42,
"norm_label": "pageddata"
},
{
@@ -9161,7 +9233,7 @@
"source_file": "app/schemas/bx/common.py",
"source_location": "L1",
"id": "bx_common_rationale_1",
- "community": 119,
+ "community": 124,
"norm_label": "bx \u539f\u7cfb\u7edf api \u54cd\u5e94\u5305\u88c5(code=0 / msg / data.rows),\u4e0e\u95e8\u6237 success_response \u5206\u79bb\u3002"
},
{
@@ -9170,7 +9242,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L1",
"id": "app_schemas_bx_workflow_py",
- "community": 46,
+ "community": 40,
"norm_label": "workflow.py"
},
{
@@ -9179,7 +9251,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L7",
"id": "bx_workflow_coerce_optional_id",
- "community": 46,
+ "community": 40,
"norm_label": "_coerce_optional_id()"
},
{
@@ -9188,7 +9260,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L13",
"id": "bx_workflow_workflownodecreate",
- "community": 46,
+ "community": 40,
"norm_label": "workflownodecreate"
},
{
@@ -9197,7 +9269,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L23",
"id": "bx_workflow_workflownodecreate_validate_approver_id",
- "community": 46,
+ "community": 40,
"norm_label": ".validate_approver_id()"
},
{
@@ -9206,7 +9278,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L27",
"id": "bx_workflow_workflownodeout",
- "community": 46,
+ "community": 40,
"norm_label": "workflownodeout"
},
{
@@ -9215,7 +9287,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L37",
"id": "bx_workflow_workflowdefcreate",
- "community": 46,
+ "community": 40,
"norm_label": "workflowdefcreate"
},
{
@@ -9224,7 +9296,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L46",
"id": "bx_workflow_workflowdefupdate",
- "community": 46,
+ "community": 40,
"norm_label": "workflowdefupdate"
},
{
@@ -9233,7 +9305,7 @@
"source_file": "app/schemas/bx/workflow.py",
"source_location": "L55",
"id": "bx_workflow_workflowdefout",
- "community": 30,
+ "community": 59,
"norm_label": "workflowdefout"
},
{
@@ -9386,7 +9458,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L1",
"id": "app_schemas_crm_quote_py",
- "community": 48,
+ "community": 40,
"norm_label": "quote.py"
},
{
@@ -9395,7 +9467,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L8",
"id": "crm_quote_quoteproductitem",
- "community": 48,
+ "community": 40,
"norm_label": "quoteproductitem"
},
{
@@ -9404,7 +9476,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L32",
"id": "crm_quote_quotelistbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotelistbody"
},
{
@@ -9413,7 +9485,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L58",
"id": "crm_quote_quotedetailbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotedetailbody"
},
{
@@ -9422,7 +9494,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L62",
"id": "crm_quote_quotedeletebody",
- "community": 48,
+ "community": 40,
"norm_label": "quotedeletebody"
},
{
@@ -9431,7 +9503,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L66",
"id": "crm_quote_quotecreatebody",
- "community": 48,
+ "community": 40,
"norm_label": "quotecreatebody"
},
{
@@ -9440,7 +9512,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L99",
"id": "crm_quote_quoteupdatebody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteupdatebody"
},
{
@@ -9449,7 +9521,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L103",
"id": "crm_quote_quotesubmitbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotesubmitbody"
},
{
@@ -9458,7 +9530,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L109",
"id": "crm_quote_quotetemplatesavebody",
- "community": 48,
+ "community": 40,
"norm_label": "quotetemplatesavebody"
},
{
@@ -9467,7 +9539,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L114",
"id": "crm_quote_quotetemplategetbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotetemplategetbody"
},
{
@@ -9476,7 +9548,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L118",
"id": "crm_quote_quotepdfbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotepdfbody"
},
{
@@ -9485,7 +9557,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L122",
"id": "crm_quote_quotesharegeneratebody",
- "community": 48,
+ "community": 40,
"norm_label": "quotesharegeneratebody"
},
{
@@ -9494,7 +9566,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L128",
"id": "crm_quote_quoteacceptbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteacceptbody"
},
{
@@ -9503,7 +9575,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L133",
"id": "crm_quote_quoterejectbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoterejectbody"
},
{
@@ -9512,7 +9584,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L139",
"id": "crm_quote_quotetocontractbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotetocontractbody"
},
{
@@ -9521,7 +9593,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L148",
"id": "crm_quote_quotenewversionbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotenewversionbody"
},
{
@@ -9530,7 +9602,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L154",
"id": "crm_quote_quoteversionsbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteversionsbody"
},
{
@@ -9539,7 +9611,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L158",
"id": "crm_quote_quoteinvalidbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteinvalidbody"
},
{
@@ -9548,7 +9620,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L163",
"id": "crm_quote_quotestatisticsoverviewbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotestatisticsoverviewbody"
},
{
@@ -9557,7 +9629,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L169",
"id": "crm_quote_quotestatisticstrendbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotestatisticstrendbody"
},
{
@@ -9566,7 +9638,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L175",
"id": "crm_quote_quoteproductlistbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteproductlistbody"
},
{
@@ -9575,7 +9647,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L179",
"id": "crm_quote_quoteproductcreatebody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteproductcreatebody"
},
{
@@ -9584,7 +9656,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L198",
"id": "crm_quote_quoteproductupdatebody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteproductupdatebody"
},
{
@@ -9593,7 +9665,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L202",
"id": "crm_quote_quoteproductdeletebody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteproductdeletebody"
},
{
@@ -9602,7 +9674,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L206",
"id": "crm_quote_quoteapprovallistbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteapprovallistbody"
},
{
@@ -9611,7 +9683,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L210",
"id": "crm_quote_quoteapprovalapprovebody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteapprovalapprovebody"
},
{
@@ -9620,7 +9692,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L217",
"id": "crm_quote_quoteapprovalwithdrawbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteapprovalwithdrawbody"
},
{
@@ -9629,7 +9701,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L222",
"id": "crm_quote_quoteapprovalrefreshnamesbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteapprovalrefreshnamesbody"
},
{
@@ -9638,7 +9710,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L226",
"id": "crm_quote_quoteshareloglistbody",
- "community": 48,
+ "community": 40,
"norm_label": "quoteshareloglistbody"
},
{
@@ -9647,7 +9719,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L230",
"id": "crm_quote_quotesharelogstatisticsbody",
- "community": 48,
+ "community": 40,
"norm_label": "quotesharelogstatisticsbody"
},
{
@@ -9656,7 +9728,7 @@
"source_file": "app/schemas/crm/quote.py",
"source_location": "L1",
"id": "app_schemas_crm_quote_py_crm_quote_rationale_1",
- "community": 48,
+ "community": 40,
"norm_label": "crm \u62a5\u4ef7\u5355 pydantic schemas"
},
{
@@ -10340,7 +10412,7 @@
"source_file": "app/schemas/crm/customer.py",
"source_location": "L39",
"id": "crm_customer_customerlistbody_to_list_kwargs",
- "community": 14,
+ "community": 150,
"norm_label": ".to_list_kwargs()"
},
{
@@ -10349,7 +10421,7 @@
"source_file": "app/schemas/crm/customer.py",
"source_location": "L39",
"id": "app_schemas_crm_customer_py_str",
- "community": 14,
+ "community": 150,
"norm_label": "str"
},
{
@@ -10475,7 +10547,7 @@
"source_file": "app/schemas/crm/customer.py",
"source_location": "L40",
"id": "crm_customer_rationale_40",
- "community": 14,
+ "community": 150,
"norm_label": "\u89e3\u6790\u5217\u8868\u67e5\u8be2\u53c2\u6570,\u4f9b api \u4e0e crud \u5171\u7528\u3002"
},
{
@@ -10511,7 +10583,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L1",
"id": "app_schemas_crm_contract_py",
- "community": 29,
+ "community": 46,
"norm_label": "contract.py"
},
{
@@ -10520,7 +10592,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L8",
"id": "crm_contract_contractproductpricetieritem",
- "community": 29,
+ "community": 40,
"norm_label": "contractproductpricetieritem"
},
{
@@ -10529,7 +10601,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L23",
"id": "crm_contract_contractproductitem",
- "community": 29,
+ "community": 40,
"norm_label": "contractproductitem"
},
{
@@ -10538,7 +10610,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L52",
"id": "crm_contract_contractlistquery",
- "community": 29,
+ "community": 46,
"norm_label": "contractlistquery"
},
{
@@ -10556,7 +10628,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L142",
"id": "crm_contract_contractupdatebody",
- "community": 29,
+ "community": 46,
"norm_label": "contractupdatebody"
},
{
@@ -10565,7 +10637,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L146",
"id": "crm_contract_contractsubmitbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractsubmitbody"
},
{
@@ -10574,7 +10646,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L152",
"id": "crm_contract_contractbatchsubmitbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractbatchsubmitbody"
},
{
@@ -10583,7 +10655,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L158",
"id": "crm_contract_contractwithdrawbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractwithdrawbody"
},
{
@@ -10592,7 +10664,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L163",
"id": "crm_contract_contractstatusbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractstatusbody"
},
{
@@ -10601,7 +10673,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L168",
"id": "crm_contract_contractinvalidbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractinvalidbody"
},
{
@@ -10610,7 +10682,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L174",
"id": "crm_contract_contracttemplatesavebody",
- "community": 29,
+ "community": 46,
"norm_label": "contracttemplatesavebody"
},
{
@@ -10619,7 +10691,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L180",
"id": "crm_contract_contractdeletebody",
- "community": 29,
+ "community": 46,
"norm_label": "contractdeletebody"
},
{
@@ -10628,7 +10700,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L184",
"id": "crm_contract_contractapprovalactionbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalactionbody"
},
{
@@ -10637,7 +10709,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L196",
"id": "crm_contract_contractuploadfilebody",
- "community": 29,
+ "community": 46,
"norm_label": "contractuploadfilebody"
},
{
@@ -10646,7 +10718,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L201",
"id": "crm_contract_contractuploadattachmentsbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractuploadattachmentsbody"
},
{
@@ -10655,7 +10727,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L209",
"id": "crm_contract_contractexportbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractexportbody"
},
{
@@ -10664,7 +10736,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L214",
"id": "crm_contract_contractstatisticsoverviewquery",
- "community": 29,
+ "community": 46,
"norm_label": "contractstatisticsoverviewquery"
},
{
@@ -10673,7 +10745,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L220",
"id": "crm_contract_contractstatisticstrendquery",
- "community": 29,
+ "community": 46,
"norm_label": "contractstatisticstrendquery"
},
{
@@ -10682,7 +10754,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L226",
"id": "crm_contract_contractrenewbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractrenewbody"
},
{
@@ -10691,7 +10763,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L230",
"id": "crm_contract_contractapprovalpassbody",
- "community": 29,
+ "community": 40,
"norm_label": "contractapprovalpassbody"
},
{
@@ -10700,7 +10772,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L235",
"id": "crm_contract_contractapprovalrejectbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalrejectbody"
},
{
@@ -10709,7 +10781,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L240",
"id": "crm_contract_contractapprovalrefreshnamesbody",
- "community": 6,
+ "community": 46,
"norm_label": "contractapprovalrefreshnamesbody"
},
{
@@ -10718,7 +10790,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L244",
"id": "crm_contract_contractapprovallistquery",
- "community": 6,
+ "community": 46,
"norm_label": "contractapprovallistquery"
},
{
@@ -10727,7 +10799,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L256",
"id": "crm_contract_contractchangelistquery",
- "community": 6,
+ "community": 46,
"norm_label": "contractchangelistquery"
},
{
@@ -10736,7 +10808,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L268",
"id": "crm_contract_contracttemplatelistquery",
- "community": 6,
+ "community": 46,
"norm_label": "contracttemplatelistquery"
},
{
@@ -10745,7 +10817,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L279",
"id": "crm_contract_contractsignbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractsignbody"
},
{
@@ -10754,7 +10826,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L286",
"id": "crm_contract_contractbatchassignbody",
- "community": 29,
+ "community": 46,
"norm_label": "contractbatchassignbody"
},
{
@@ -10763,7 +10835,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L292",
"id": "crm_contract_contractchangecreatebody",
- "community": 29,
+ "community": 46,
"norm_label": "contractchangecreatebody"
},
{
@@ -10772,7 +10844,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L307",
"id": "crm_contract_contractchangeupdatebody",
- "community": 29,
+ "community": 46,
"norm_label": "contractchangeupdatebody"
},
{
@@ -10781,7 +10853,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L311",
"id": "crm_contract_contractchangesubmitbody",
- "community": 29,
+ "community": 40,
"norm_label": "contractchangesubmitbody"
},
{
@@ -10790,7 +10862,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L317",
"id": "crm_contract_contractchangeexportbody",
- "community": 6,
+ "community": 46,
"norm_label": "contractchangeexportbody"
},
{
@@ -10799,7 +10871,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L321",
"id": "crm_contract_contracttemplatecreatebody",
- "community": 29,
+ "community": 46,
"norm_label": "contracttemplatecreatebody"
},
{
@@ -10808,7 +10880,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L343",
"id": "crm_contract_contracttemplateupdatebody",
- "community": 29,
+ "community": 46,
"norm_label": "contracttemplateupdatebody"
},
{
@@ -10817,7 +10889,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L347",
"id": "crm_contract_contracttemplateexportbody",
- "community": 6,
+ "community": 46,
"norm_label": "contracttemplateexportbody"
},
{
@@ -10826,7 +10898,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L351",
"id": "crm_contract_contractapprovaltransferbody",
- "community": 29,
+ "community": 40,
"norm_label": "contractapprovaltransferbody"
},
{
@@ -10835,7 +10907,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L357",
"id": "crm_contract_contractapprovalexportbody",
- "community": 6,
+ "community": 46,
"norm_label": "contractapprovalexportbody"
},
{
@@ -10844,7 +10916,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L1",
"id": "app_schemas_crm_contract_py_crm_contract_rationale_1",
- "community": 29,
+ "community": 46,
"norm_label": "crm \u5408\u540c pydantic schemas \u2014 \u5bf9\u7167 crmcontractbo / crmcontractvo"
},
{
@@ -10853,7 +10925,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L53",
"id": "crm_contract_rationale_53",
- "community": 29,
+ "community": 46,
"norm_label": "get /contract/list \u67e5\u8be2\u53c2\u6570(\u5bf9\u9f50 crmcontractbo + pagenum/pagesize)"
},
{
@@ -10862,7 +10934,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L185",
"id": "crm_contract_rationale_185",
- "community": 29,
+ "community": 46,
"norm_label": "post /contract/approval \u2014 \u6309\u5408\u540c id \u5ba1\u6279"
},
{
@@ -10871,7 +10943,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L210",
"id": "crm_contract_rationale_210",
- "community": 29,
+ "community": 46,
"norm_label": "post /contract/export \u7b5b\u9009\u6761\u4ef6(\u65e0\u5206\u9875\u6216\u6cbf\u7528 list \u53c2\u6570)"
},
{
@@ -10880,7 +10952,7 @@
"source_file": "app/schemas/crm/contract.py",
"source_location": "L227",
"id": "crm_contract_rationale_227",
- "community": 29,
+ "community": 46,
"norm_label": "\u7eed\u7b7e \u2014 \u5b57\u6bb5\u540c\u521b\u5efa,parent \u7531\u8def\u5f84\u63d0\u4f9b"
},
{
@@ -10889,7 +10961,7 @@
"source_file": "app/schemas/crm/contact.py",
"source_location": "L1",
"id": "app_schemas_crm_contact_py",
- "community": 49,
+ "community": 40,
"norm_label": "contact.py"
},
{
@@ -10934,7 +11006,7 @@
"source_file": "app/schemas/crm/contact.py",
"source_location": "L75",
"id": "crm_contact_contactdetailbody",
- "community": 49,
+ "community": 40,
"norm_label": "contactdetailbody"
},
{
@@ -10943,7 +11015,7 @@
"source_file": "app/schemas/crm/contact.py",
"source_location": "L79",
"id": "crm_contact_contactbycustomerbody",
- "community": 49,
+ "community": 40,
"norm_label": "contactbycustomerbody"
},
{
@@ -10952,7 +11024,7 @@
"source_file": "app/schemas/crm/contact.py",
"source_location": "L85",
"id": "crm_contact_contactsetprimarybody",
- "community": 49,
+ "community": 40,
"norm_label": "contactsetprimarybody"
},
{
@@ -10961,7 +11033,7 @@
"source_file": "app/schemas/crm/contact.py",
"source_location": "L1",
"id": "crm_contact_rationale_1",
- "community": 49,
+ "community": 40,
"norm_label": "crm \u8054\u7cfb\u4eba pydantic schemas"
},
{
@@ -11033,7 +11105,7 @@
"source_file": "app/schemas/db/public_inventory.py",
"source_location": "L1",
"id": "app_schemas_db_public_inventory_py",
- "community": 112,
+ "community": 50,
"norm_label": "public_inventory.py"
},
{
@@ -11042,7 +11114,7 @@
"source_file": "app/schemas/db/public_inventory.py",
"source_location": "L7",
"id": "db_public_inventory_publicinventoryfeedback",
- "community": 112,
+ "community": 40,
"norm_label": "publicinventoryfeedback"
},
{
@@ -11051,7 +11123,7 @@
"source_file": "app/schemas/db/public_inventory.py",
"source_location": "L13",
"id": "db_public_inventory_publicinventorypageread",
- "community": 112,
+ "community": 22,
"norm_label": "publicinventorypageread"
},
{
@@ -11123,7 +11195,7 @@
"source_file": "app/schemas/db/weighing.py",
"source_location": "L1",
"id": "app_schemas_db_weighing_py",
- "community": 49,
+ "community": 40,
"norm_label": "weighing.py"
},
{
@@ -11132,7 +11204,7 @@
"source_file": "app/schemas/db/weighing.py",
"source_location": "L6",
"id": "db_weighing_weighingslipbase",
- "community": 49,
+ "community": 40,
"norm_label": "weighingslipbase"
},
{
@@ -11141,7 +11213,7 @@
"source_file": "app/schemas/db/weighing.py",
"source_location": "L33",
"id": "db_weighing_weighingslipcreate",
- "community": 49,
+ "community": 40,
"norm_label": "weighingslipcreate"
},
{
@@ -11150,7 +11222,7 @@
"source_file": "app/schemas/db/weighing.py",
"source_location": "L58",
"id": "db_weighing_weighingslipupdate",
- "community": 49,
+ "community": 40,
"norm_label": "weighingslipupdate"
},
{
@@ -11159,7 +11231,7 @@
"source_file": "app/schemas/db/weighing.py",
"source_location": "L86",
"id": "db_weighing_weighingslipread",
- "community": 23,
+ "community": 127,
"norm_label": "weighingslipread"
},
{
@@ -11168,7 +11240,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L1",
"id": "app_schemas_db_plans_py",
- "community": 49,
+ "community": 40,
"norm_label": "plans.py"
},
{
@@ -11177,7 +11249,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L6",
"id": "db_plans_purchaseplanbase",
- "community": 49,
+ "community": 40,
"norm_label": "purchaseplanbase"
},
{
@@ -11186,7 +11258,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L34",
"id": "db_plans_purchaseplancreate",
- "community": 49,
+ "community": 40,
"norm_label": "purchaseplancreate"
},
{
@@ -11195,7 +11267,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L54",
"id": "db_plans_purchaseplanupdate",
- "community": 49,
+ "community": 40,
"norm_label": "purchaseplanupdate"
},
{
@@ -11204,7 +11276,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L82",
"id": "db_plans_purchaseplanread",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanread"
},
{
@@ -11213,7 +11285,7 @@
"source_file": "app/schemas/db/plans.py",
"source_location": "L88",
"id": "db_plans_purchaseplanwithfilllink",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanwithfilllink"
},
{
@@ -11222,7 +11294,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L1",
"id": "app_schemas_db_inventory_py",
- "community": 49,
+ "community": 40,
"norm_label": "inventory.py"
},
{
@@ -11231,7 +11303,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L6",
"id": "db_inventory_inboundoutboundbase",
- "community": 49,
+ "community": 40,
"norm_label": "inboundoutboundbase"
},
{
@@ -11240,7 +11312,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L24",
"id": "db_inventory_inboundoutboundcreate",
- "community": 49,
+ "community": 40,
"norm_label": "inboundoutboundcreate"
},
{
@@ -11249,7 +11321,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L40",
"id": "db_inventory_inboundoutboundupdate",
- "community": 49,
+ "community": 40,
"norm_label": "inboundoutboundupdate"
},
{
@@ -11258,7 +11330,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L58",
"id": "db_inventory_createlinkforplanpayload",
- "community": 49,
+ "community": 40,
"norm_label": "createlinkforplanpayload"
},
{
@@ -11267,7 +11339,7 @@
"source_file": "app/schemas/db/inventory.py",
"source_location": "L65",
"id": "db_inventory_inboundoutboundread",
- "community": 23,
+ "community": 127,
"norm_label": "inboundoutboundread"
},
{
@@ -12167,7 +12239,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L1",
"id": "app_crud_biz_no_generator_py",
- "community": 109,
+ "community": 101,
"norm_label": "biz_no_generator.py"
},
{
@@ -12176,7 +12248,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L19",
"id": "crud_biz_no_generator_prefix_for",
- "community": 109,
+ "community": 101,
"norm_label": "_prefix_for()"
},
{
@@ -12185,7 +12257,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L19",
"id": "biznokind",
- "community": 109,
+ "community": 101,
"norm_label": "biznokind"
},
{
@@ -12194,7 +12266,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L19",
"id": "app_crud_biz_no_generator_py_str",
- "community": 109,
+ "community": 101,
"norm_label": "str"
},
{
@@ -12203,7 +12275,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L23",
"id": "crud_biz_no_generator_format_biz_no",
- "community": 109,
+ "community": 101,
"norm_label": "_format_biz_no()"
},
{
@@ -12212,7 +12284,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L23",
"id": "app_crud_biz_no_generator_py_int",
- "community": 109,
+ "community": 101,
"norm_label": "int"
},
{
@@ -12221,7 +12293,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L27",
"id": "crud_biz_no_generator_allocate_next_biz_no",
- "community": 109,
+ "community": 101,
"norm_label": "allocate_next_biz_no()"
},
{
@@ -12230,7 +12302,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L27",
"id": "app_crud_biz_no_generator_py_session",
- "community": 109,
+ "community": 101,
"norm_label": "session"
},
{
@@ -12239,7 +12311,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L27",
"id": "app_crud_biz_no_generator_py_datetime",
- "community": 109,
+ "community": 101,
"norm_label": "datetime"
},
{
@@ -12248,7 +12320,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L1",
"id": "crud_biz_no_generator_rationale_1",
- "community": 109,
+ "community": 101,
"norm_label": "\u4e1a\u52a1\u534f\u8bae\u53f7\u81ea\u52a8\u751f\u6210:xbcc / jzcc + yyyymmdd + 6 \u4f4d\u5e8f\u53f7"
},
{
@@ -12257,7 +12329,7 @@
"source_file": "app/crud/biz_no_generator.py",
"source_location": "L35",
"id": "crud_biz_no_generator_rationale_35",
- "community": 109,
+ "community": 101,
"norm_label": "\u539f\u5b50\u5206\u914d\u4e0b\u4e00\u4e2a\u4e1a\u52a1\u534f\u8bae\u53f7\u3002 \u987b\u5728 create \u4e8b\u52a1\u5185\u8c03\u7528;\u4f7f\u7528 mysql last_insert_id \u4fdd\u8bc1\u5e76\u53d1\u5b89\u5168\u3002"
},
{
@@ -13031,7 +13103,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L1",
"id": "app_crud_ethnic_py",
- "community": 148,
+ "community": 28,
"norm_label": "ethnic.py"
},
{
@@ -13040,7 +13112,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L9",
"id": "crud_ethnic_row_to_dict",
- "community": 148,
+ "community": 28,
"norm_label": "_row_to_dict()"
},
{
@@ -13049,7 +13121,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L9",
"id": "sysethnic",
- "community": 148,
+ "community": 28,
"norm_label": "sysethnic"
},
{
@@ -13058,7 +13130,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L9",
"id": "app_crud_ethnic_py_str",
- "community": 148,
+ "community": 28,
"norm_label": "str"
},
{
@@ -13067,7 +13139,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L9",
"id": "app_crud_ethnic_py_any",
- "community": 148,
+ "community": 28,
"norm_label": "any"
},
{
@@ -13076,7 +13148,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L18",
"id": "crud_ethnic_list_ethnics",
- "community": 148,
+ "community": 28,
"norm_label": "list_ethnics()"
},
{
@@ -13085,7 +13157,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L18",
"id": "app_crud_ethnic_py_session",
- "community": 148,
+ "community": 28,
"norm_label": "session"
},
{
@@ -13094,7 +13166,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L18",
"id": "app_crud_ethnic_py_int",
- "community": 148,
+ "community": 28,
"norm_label": "int"
},
{
@@ -13103,7 +13175,7 @@
"source_file": "app/crud/ethnic.py",
"source_location": "L1",
"id": "crud_ethnic_rationale_1",
- "community": 148,
+ "community": 28,
"norm_label": "\u6c11\u65cf\u7801\u8868 crud(\u5168\u5c40 sys_ethnic)"
},
{
@@ -13112,7 +13184,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L1",
"id": "app_crud_workflow_py",
- "community": 76,
+ "community": 65,
"norm_label": "workflow.py"
},
{
@@ -13121,7 +13193,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L30",
"id": "crud_workflow_row_to_dict",
- "community": 76,
+ "community": 65,
"norm_label": "_row_to_dict()"
},
{
@@ -13139,7 +13211,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L30",
"id": "app_crud_workflow_py_str",
- "community": 76,
+ "community": 65,
"norm_label": "str"
},
{
@@ -13148,7 +13220,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L30",
"id": "app_crud_workflow_py_any",
- "community": 76,
+ "community": 65,
"norm_label": "any"
},
{
@@ -13157,7 +13229,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L45",
"id": "crud_workflow_list_process_defs",
- "community": 76,
+ "community": 65,
"norm_label": "list_process_defs()"
},
{
@@ -13166,7 +13238,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L45",
"id": "app_crud_workflow_py_session",
- "community": 76,
+ "community": 65,
"norm_label": "session"
},
{
@@ -13175,7 +13247,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L45",
"id": "app_crud_workflow_py_int",
- "community": 76,
+ "community": 65,
"norm_label": "int"
},
{
@@ -13184,7 +13256,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L101",
"id": "crud_workflow_get_process_def",
- "community": 76,
+ "community": 65,
"norm_label": "get_process_def()"
},
{
@@ -13193,7 +13265,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L109",
"id": "crud_workflow_process_code_exists",
- "community": 76,
+ "community": 65,
"norm_label": "process_code_exists()"
},
{
@@ -13211,7 +13283,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L120",
"id": "crud_workflow_create_process_def",
- "community": 76,
+ "community": 65,
"norm_label": "create_process_def()"
},
{
@@ -13220,7 +13292,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L157",
"id": "crud_workflow_update_process_def",
- "community": 76,
+ "community": 65,
"norm_label": "update_process_def()"
},
{
@@ -13229,7 +13301,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L196",
"id": "crud_workflow_soft_delete_process_def",
- "community": 76,
+ "community": 65,
"norm_label": "soft_delete_process_def()"
},
{
@@ -13256,7 +13328,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L304",
"id": "crud_workflow_get_latest_version",
- "community": 76,
+ "community": 65,
"norm_label": "get_latest_version()"
},
{
@@ -13265,7 +13337,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L318",
"id": "crud_workflow_version_to_dict",
- "community": 76,
+ "community": 65,
"norm_label": "_version_to_dict()"
},
{
@@ -13274,7 +13346,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L329",
"id": "crud_workflow_list_versions",
- "community": 76,
+ "community": 65,
"norm_label": "list_versions()"
},
{
@@ -13283,7 +13355,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L344",
"id": "crud_workflow_get_nodes_by_version",
- "community": 76,
+ "community": 65,
"norm_label": "get_nodes_by_version()"
},
{
@@ -13301,7 +13373,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L353",
"id": "crud_workflow_get_transitions_by_version",
- "community": 76,
+ "community": 65,
"norm_label": "get_transitions_by_version()"
},
{
@@ -13319,7 +13391,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L367",
"id": "crud_workflow_create_instance",
- "community": 76,
+ "community": 65,
"norm_label": "create_instance()"
},
{
@@ -13337,7 +13409,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L405",
"id": "crud_workflow_get_instance",
- "community": 76,
+ "community": 65,
"norm_label": "get_instance()"
},
{
@@ -13346,7 +13418,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L413",
"id": "crud_workflow_update_instance_status",
- "community": 76,
+ "community": 65,
"norm_label": "update_instance_status()"
},
{
@@ -13355,7 +13427,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L423",
"id": "crud_workflow_list_my_instances",
- "community": 76,
+ "community": 65,
"norm_label": "list_my_instances()"
},
{
@@ -13364,7 +13436,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L511",
"id": "crud_workflow_get_all_tasks_for_business",
- "community": 76,
+ "community": 65,
"norm_label": "get_all_tasks_for_business()"
},
{
@@ -13373,7 +13445,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L572",
"id": "crud_workflow_create_task",
- "community": 76,
+ "community": 65,
"norm_label": "create_task()"
},
{
@@ -13391,7 +13463,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L603",
"id": "crud_workflow_get_task",
- "community": 76,
+ "community": 65,
"norm_label": "get_task()"
},
{
@@ -13400,7 +13472,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L611",
"id": "crud_workflow_get_pending_tasks_by_node",
- "community": 76,
+ "community": 65,
"norm_label": "get_pending_tasks_by_node()"
},
{
@@ -13409,7 +13481,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L626",
"id": "crud_workflow_task_row_to_dict",
- "community": 76,
+ "community": 65,
"norm_label": "_task_row_to_dict()"
},
{
@@ -13418,7 +13490,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L653",
"id": "crud_workflow_list_pending_tasks",
- "community": 76,
+ "community": 65,
"norm_label": "list_pending_tasks()"
},
{
@@ -13427,7 +13499,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L716",
"id": "crud_workflow_list_completed_tasks",
- "community": 76,
+ "community": 65,
"norm_label": "list_completed_tasks()"
},
{
@@ -13436,7 +13508,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L779",
"id": "crud_workflow_total_pages",
- "community": 76,
+ "community": 65,
"norm_label": "total_pages()"
},
{
@@ -13445,7 +13517,7 @@
"source_file": "app/crud/workflow.py",
"source_location": "L1",
"id": "crud_workflow_rationale_1",
- "community": 76,
+ "community": 65,
"norm_label": "\u5de5\u4f5c\u6d41 crud(wf_process_def / wf_process_version / wf_node / wf_transition / wf_proc"
},
{
@@ -13454,7 +13526,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L1",
"id": "app_crud_dept_py",
- "community": 85,
+ "community": 112,
"norm_label": "dept.py"
},
{
@@ -13463,7 +13535,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L14",
"id": "crud_dept_row_to_dict",
- "community": 85,
+ "community": 112,
"norm_label": "_row_to_dict()"
},
{
@@ -13472,7 +13544,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L14",
"id": "sysdept",
- "community": 85,
+ "community": 112,
"norm_label": "sysdept"
},
{
@@ -13481,7 +13553,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L14",
"id": "app_crud_dept_py_str",
- "community": 85,
+ "community": 112,
"norm_label": "str"
},
{
@@ -13490,7 +13562,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L14",
"id": "app_crud_dept_py_any",
- "community": 85,
+ "community": 112,
"norm_label": "any"
},
{
@@ -13499,7 +13571,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L32",
"id": "crud_dept_build_tree",
- "community": 85,
+ "community": 112,
"norm_label": "_build_tree()"
},
{
@@ -13508,7 +13580,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L40",
"id": "crud_dept_collect_with_ancestors",
- "community": 85,
+ "community": 112,
"norm_label": "_collect_with_ancestors()"
},
{
@@ -13517,7 +13589,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L56",
"id": "crud_dept_list_depts",
- "community": 85,
+ "community": 112,
"norm_label": "list_depts()"
},
{
@@ -13526,7 +13598,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L56",
"id": "app_crud_dept_py_session",
- "community": 85,
+ "community": 112,
"norm_label": "session"
},
{
@@ -13535,7 +13607,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L77",
"id": "crud_dept_list_depts_tree",
- "community": 85,
+ "community": 112,
"norm_label": "list_depts_tree()"
},
{
@@ -13544,7 +13616,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L99",
"id": "crud_dept_get_dept",
- "community": 85,
+ "community": 112,
"norm_label": "get_dept()"
},
{
@@ -13553,7 +13625,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L107",
"id": "crud_dept_create_dept",
- "community": 85,
+ "community": 112,
"norm_label": "create_dept()"
},
{
@@ -13562,7 +13634,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L107",
"id": "app_crud_dept_py_int",
- "community": 85,
+ "community": 112,
"norm_label": "int"
},
{
@@ -13571,7 +13643,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L148",
"id": "crud_dept_update_dept",
- "community": 85,
+ "community": 112,
"norm_label": "update_dept()"
},
{
@@ -13580,7 +13652,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L186",
"id": "crud_dept_cascade_soft_delete",
- "community": 85,
+ "community": 112,
"norm_label": "_cascade_soft_delete()"
},
{
@@ -13589,7 +13661,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L199",
"id": "crud_dept_soft_delete_dept",
- "community": 85,
+ "community": 112,
"norm_label": "soft_delete_dept()"
},
{
@@ -13598,7 +13670,7 @@
"source_file": "app/crud/dept.py",
"source_location": "L43",
"id": "crud_dept_rationale_43",
- "community": 85,
+ "community": 112,
"norm_label": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7,\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002"
},
{
@@ -14300,7 +14372,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L1",
"id": "app_crud_crm_pool_rule_py",
- "community": 56,
+ "community": 20,
"norm_label": "pool_rule.py"
},
{
@@ -14309,7 +14381,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L25",
"id": "crm_pool_rule_total_pages",
- "community": 56,
+ "community": 20,
"norm_label": "total_pages()"
},
{
@@ -14318,7 +14390,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L25",
"id": "app_crud_crm_pool_rule_py_int",
- "community": 56,
+ "community": 20,
"norm_label": "int"
},
{
@@ -14327,7 +14399,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L31",
"id": "crm_pool_rule_row_to_dict",
- "community": 56,
+ "community": 20,
"norm_label": "_row_to_dict()"
},
{
@@ -14336,7 +14408,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L31",
"id": "crmcustomerpoolrule",
- "community": 56,
+ "community": 20,
"norm_label": "crmcustomerpoolrule"
},
{
@@ -14345,7 +14417,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L31",
"id": "app_crud_crm_pool_rule_py_str",
- "community": 56,
+ "community": 20,
"norm_label": "str"
},
{
@@ -14354,7 +14426,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L31",
"id": "app_crud_crm_pool_rule_py_any",
- "community": 56,
+ "community": 20,
"norm_label": "any"
},
{
@@ -14363,7 +14435,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L48",
"id": "crm_pool_rule_list_pool_rules",
- "community": 56,
+ "community": 20,
"norm_label": "list_pool_rules()"
},
{
@@ -14372,7 +14444,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L48",
"id": "app_crud_crm_pool_rule_py_session",
- "community": 56,
+ "community": 20,
"norm_label": "session"
},
{
@@ -14381,7 +14453,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L81",
"id": "crm_pool_rule_get_pool_rule",
- "community": 56,
+ "community": 20,
"norm_label": "get_pool_rule()"
},
{
@@ -14390,7 +14462,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L93",
"id": "crm_pool_rule_create_pool_rule",
- "community": 56,
+ "community": 20,
"norm_label": "create_pool_rule()"
},
{
@@ -14399,7 +14471,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L125",
"id": "crm_pool_rule_update_pool_rule",
- "community": 56,
+ "community": 20,
"norm_label": "update_pool_rule()"
},
{
@@ -14408,7 +14480,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L165",
"id": "crm_pool_rule_delete_pool_rules",
- "community": 56,
+ "community": 20,
"norm_label": "delete_pool_rules()"
},
{
@@ -14417,7 +14489,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L184",
"id": "crm_pool_rule_update_pool_rule_status",
- "community": 56,
+ "community": 20,
"norm_label": "update_pool_rule_status()"
},
{
@@ -14426,7 +14498,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L204",
"id": "crm_pool_rule_execute_pool_rules",
- "community": 56,
+ "community": 20,
"norm_label": "execute_pool_rules()"
},
{
@@ -14435,7 +14507,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L231",
"id": "crm_pool_rule_execute_single_rule",
- "community": 56,
+ "community": 20,
"norm_label": "_execute_single_rule()"
},
{
@@ -14444,7 +14516,7 @@
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L1",
"id": "app_crud_crm_pool_rule_py_crm_pool_rule_rationale_1",
- "community": 56,
+ "community": 20,
"norm_label": "crm \u516c\u6d77\u6c60\u89c4\u5219 crud + \u89c4\u5219\u6267\u884c\u903b\u8f91"
},
{
@@ -14651,7 +14723,7 @@
"source_file": "app/crud/crm/contract_approval.py",
"source_location": "L99",
"id": "app_crud_crm_contract_approval_py_query",
- "community": 51,
+ "community": 17,
"norm_label": "query"
},
{
@@ -14723,7 +14795,7 @@
"source_file": "app/crud/crm/contract_approval.py",
"source_location": "L235",
"id": "app_crud_crm_contract_approval_py_crmcontract",
- "community": 51,
+ "community": 17,
"norm_label": "crmcontract"
},
{
@@ -15047,7 +15119,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1",
"id": "app_crud_crm_quote_py",
- "community": 5,
+ "community": 56,
"norm_label": "quote.py"
},
{
@@ -15074,7 +15146,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L40",
"id": "crmquote",
- "community": 5,
+ "community": 56,
"norm_label": "crmquote"
},
{
@@ -15119,7 +15191,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L64",
"id": "crm_quote_decimal_value",
- "community": 5,
+ "community": 56,
"norm_label": "_decimal_value()"
},
{
@@ -15128,7 +15200,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L64",
"id": "app_crud_crm_quote_py_any",
- "community": 5,
+ "community": 56,
"norm_label": "any"
},
{
@@ -15137,7 +15209,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L64",
"id": "app_crud_crm_quote_py_decimal",
- "community": 5,
+ "community": 56,
"norm_label": "decimal"
},
{
@@ -15146,7 +15218,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L72",
"id": "crm_quote_parse_optional_date",
- "community": 5,
+ "community": 56,
"norm_label": "_parse_optional_date()"
},
{
@@ -15155,7 +15227,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L72",
"id": "app_crud_crm_quote_py_date",
- "community": 5,
+ "community": 56,
"norm_label": "date"
},
{
@@ -15164,7 +15236,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L90",
"id": "crm_quote_parse_optional_datetime",
- "community": 5,
+ "community": 56,
"norm_label": "_parse_optional_datetime()"
},
{
@@ -15173,7 +15245,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L90",
"id": "app_crud_crm_quote_py_datetime",
- "community": 5,
+ "community": 56,
"norm_label": "datetime"
},
{
@@ -15182,7 +15254,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L106",
"id": "crm_quote_get_field",
- "community": 5,
+ "community": 56,
"norm_label": "_get_field()"
},
{
@@ -15191,7 +15263,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L113",
"id": "crm_quote_resolve_user_display_name",
- "community": 5,
+ "community": 56,
"norm_label": "_resolve_user_display_name()"
},
{
@@ -15200,7 +15272,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L123",
"id": "crm_quote_row_to_dict",
- "community": 5,
+ "community": 64,
"norm_label": "_row_to_dict()"
},
{
@@ -15209,7 +15281,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L174",
"id": "crm_quote_quote_row_to_dict",
- "community": 5,
+ "community": 56,
"norm_label": "quote_row_to_dict()"
},
{
@@ -15218,7 +15290,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L178",
"id": "crm_quote_build_quote_filters",
- "community": 5,
+ "community": 56,
"norm_label": "_build_quote_filters()"
},
{
@@ -15227,7 +15299,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L178",
"id": "app_crud_crm_quote_py_query",
- "community": 5,
+ "community": 56,
"norm_label": "query"
},
{
@@ -15236,7 +15308,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L309",
"id": "crm_quote_fill_contract_linked_count",
- "community": 5,
+ "community": 137,
"norm_label": "_fill_contract_linked_count()"
},
{
@@ -15245,7 +15317,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L331",
"id": "crm_quote_calculate_quote_amount",
- "community": 5,
+ "community": 56,
"norm_label": "calculate_quote_amount()"
},
{
@@ -15254,7 +15326,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L357",
"id": "crm_quote_resolve_quote_product_ids",
- "community": 5,
+ "community": 56,
"norm_label": "_resolve_quote_product_ids()"
},
{
@@ -15263,7 +15335,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L378",
"id": "crm_quote_generate_quote_no",
- "community": 5,
+ "community": 56,
"norm_label": "generate_quote_no()"
},
{
@@ -15272,7 +15344,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L428",
"id": "crm_quote_generate_quote_title",
- "community": 5,
+ "community": 56,
"norm_label": "generate_quote_title()"
},
{
@@ -15281,7 +15353,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L440",
"id": "crm_quote_get_supplier_short_name",
- "community": 5,
+ "community": 56,
"norm_label": "_get_supplier_short_name()"
},
{
@@ -15290,7 +15362,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L453",
"id": "crm_quote_enrich_contact_fields",
- "community": 5,
+ "community": 56,
"norm_label": "_enrich_contact_fields()"
},
{
@@ -15299,7 +15371,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L464",
"id": "crm_quote_enrich_supplier_name",
- "community": 5,
+ "community": 56,
"norm_label": "_enrich_supplier_name()"
},
{
@@ -15335,7 +15407,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L560",
"id": "crm_quote_create_quote",
- "community": 5,
+ "community": 56,
"norm_label": "create_quote()"
},
{
@@ -15344,7 +15416,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L664",
"id": "crm_quote_update_quote",
- "community": 5,
+ "community": 56,
"norm_label": "update_quote()"
},
{
@@ -15416,7 +15488,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L943",
"id": "crm_quote_view_by_share_code",
- "community": 89,
+ "community": 64,
"norm_label": "view_by_share_code()"
},
{
@@ -15443,7 +15515,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1037",
"id": "crm_quote_to_contract",
- "community": 5,
+ "community": 119,
"norm_label": "to_contract()"
},
{
@@ -15452,7 +15524,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1104",
"id": "crm_quote_create_new_version",
- "community": 5,
+ "community": 119,
"norm_label": "create_new_version()"
},
{
@@ -15470,7 +15542,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1205",
"id": "crm_quote_withdraw_quote_approval",
- "community": 5,
+ "community": 90,
"norm_label": "withdraw_quote_approval()"
},
{
@@ -15488,7 +15560,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1256",
"id": "crm_quote_statistics_overview",
- "community": 5,
+ "community": 90,
"norm_label": "statistics_overview()"
},
{
@@ -15506,7 +15578,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1348",
"id": "crm_quote_period_key",
- "community": 5,
+ "community": 56,
"norm_label": "_period_key()"
},
{
@@ -15515,7 +15587,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1357",
"id": "crm_quote_statistics_trend",
- "community": 5,
+ "community": 74,
"norm_label": "statistics_trend()"
},
{
@@ -15524,7 +15596,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1",
"id": "app_crud_crm_quote_py_crm_quote_rationale_1",
- "community": 5,
+ "community": 56,
"norm_label": "crm \u62a5\u4ef7\u5355 crud \u2014 \u5bf9\u7167 crmquoteserviceimpl.java(p2 \u5168\u91cf)"
},
{
@@ -15533,7 +15605,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L124",
"id": "crm_quote_rationale_124",
- "community": 5,
+ "community": 64,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)"
},
{
@@ -15542,7 +15614,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L185",
"id": "crm_quote_rationale_185",
- "community": 5,
+ "community": 56,
"norm_label": "java: buildquerywrapper"
},
{
@@ -15551,7 +15623,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L310",
"id": "crm_quote_rationale_310",
- "community": 5,
+ "community": 137,
"norm_label": "java: fillcontractlinkedcount"
},
{
@@ -15560,7 +15632,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L335",
"id": "crm_quote_rationale_335",
- "community": 5,
+ "community": 56,
"norm_label": "java: calculateamount"
},
{
@@ -15569,7 +15641,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L364",
"id": "crm_quote_rationale_364",
- "community": 5,
+ "community": 56,
"norm_label": "java: resolvequoteproductids"
},
{
@@ -15578,7 +15650,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L385",
"id": "crm_quote_rationale_385",
- "community": 5,
+ "community": 56,
"norm_label": "java: generatequoteno \u2014 {\u4f9b\u65b9\u7f16\u7801}dd-yyyymmdd + 3\u4f4d\u5e8f\u53f7"
},
{
@@ -15596,7 +15668,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L951",
"id": "crm_quote_rationale_951",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode"
},
{
@@ -15605,7 +15677,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1051",
"id": "crm_quote_rationale_1051",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid"
},
{
@@ -15614,7 +15686,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1115",
"id": "crm_quote_rationale_1115",
- "community": 5,
+ "community": 90,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id"
},
{
@@ -15623,7 +15695,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1214",
"id": "crm_quote_rationale_1214",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)"
},
{
@@ -15632,7 +15704,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1265",
"id": "crm_quote_rationale_1265",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview"
},
{
@@ -15650,7 +15722,7 @@
"source_file": "app/crud/crm/quote.py",
"source_location": "L1366",
"id": "crm_quote_rationale_1366",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend"
},
{
@@ -16208,7 +16280,7 @@
"source_file": "app/crud/crm/data_scope_helpers.py",
"source_location": "L1",
"id": "app_crud_crm_data_scope_helpers_py",
- "community": 37,
+ "community": 28,
"norm_label": "data_scope_helpers.py"
},
{
@@ -16280,7 +16352,7 @@
"source_file": "app/crud/crm/data_scope_helpers.py",
"source_location": "L48",
"id": "crm_data_scope_helpers_ensure_crm_create_by_row_in_scope",
- "community": 21,
+ "community": 8,
"norm_label": "ensure_crm_create_by_row_in_scope()"
},
{
@@ -16307,7 +16379,7 @@
"source_file": "app/crud/crm/data_scope_helpers.py",
"source_location": "L1",
"id": "crm_data_scope_helpers_rationale_1",
- "community": 37,
+ "community": 28,
"norm_label": "crm \u6570\u636e\u6743\u9650\u8f85\u52a9(\u8d1f\u8d23\u4eba owner_user_id + \u6807\u51c6 create_by/create_dept_id)\u3002"
},
{
@@ -16442,7 +16514,7 @@
"source_file": "app/crud/crm/supplier_info.py",
"source_location": "L122",
"id": "crm_supplier_info_get_supplier_info",
- "community": 5,
+ "community": 56,
"norm_label": "get_supplier_info()"
},
{
@@ -16667,7 +16739,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L1",
"id": "app_crud_crm_quote_approval_py",
- "community": 5,
+ "community": 33,
"norm_label": "quote_approval.py"
},
{
@@ -16676,7 +16748,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L16",
"id": "crm_quote_approval_row_to_dict",
- "community": 5,
+ "community": 33,
"norm_label": "_row_to_dict()"
},
{
@@ -16685,7 +16757,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L16",
"id": "crmquoteapproval",
- "community": 5,
+ "community": 33,
"norm_label": "crmquoteapproval"
},
{
@@ -16694,7 +16766,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L16",
"id": "app_crud_crm_quote_approval_py_str",
- "community": 5,
+ "community": 33,
"norm_label": "str"
},
{
@@ -16703,7 +16775,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L16",
"id": "app_crud_crm_quote_approval_py_any",
- "community": 5,
+ "community": 33,
"norm_label": "any"
},
{
@@ -16712,7 +16784,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L32",
"id": "crm_quote_approval_resolve_user_display_name",
- "community": 5,
+ "community": 33,
"norm_label": "_resolve_user_display_name()"
},
{
@@ -16721,7 +16793,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L32",
"id": "app_crud_crm_quote_approval_py_session",
- "community": 5,
+ "community": 33,
"norm_label": "session"
},
{
@@ -16730,7 +16802,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L42",
"id": "crm_quote_approval_list_quote_approvals",
- "community": 5,
+ "community": 33,
"norm_label": "list_quote_approvals()"
},
{
@@ -16739,7 +16811,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L68",
"id": "crm_quote_approval_get_quote_approval",
- "community": 5,
+ "community": 33,
"norm_label": "get_quote_approval()"
},
{
@@ -16748,7 +16820,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L83",
"id": "crm_quote_approval_create_approval_records",
- "community": 5,
+ "community": 33,
"norm_label": "create_approval_records()"
},
{
@@ -16757,7 +16829,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L125",
"id": "crm_quote_approval_approve_quote",
- "community": 5,
+ "community": 33,
"norm_label": "approve_quote()"
},
{
@@ -16766,7 +16838,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L125",
"id": "app_crud_crm_quote_approval_py_bool",
- "community": 5,
+ "community": 33,
"norm_label": "bool"
},
{
@@ -16775,7 +16847,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L186",
"id": "crm_quote_approval_withdraw_approval",
- "community": 5,
+ "community": 33,
"norm_label": "withdraw_approval()"
},
{
@@ -16784,7 +16856,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L217",
"id": "crm_quote_approval_delete_pending_approvals",
- "community": 5,
+ "community": 33,
"norm_label": "delete_pending_approvals()"
},
{
@@ -16793,7 +16865,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L217",
"id": "app_crud_crm_quote_approval_py_int",
- "community": 5,
+ "community": 33,
"norm_label": "int"
},
{
@@ -16802,7 +16874,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L236",
"id": "crm_quote_approval_refresh_approver_names",
- "community": 5,
+ "community": 33,
"norm_label": "refresh_approver_names()"
},
{
@@ -16811,7 +16883,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L257",
"id": "crm_quote_approval_can_user_approve",
- "community": 5,
+ "community": 33,
"norm_label": "can_user_approve()"
},
{
@@ -16820,7 +16892,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L1",
"id": "crm_quote_approval_rationale_1",
- "community": 5,
+ "community": 33,
"norm_label": "crm \u62a5\u4ef7\u5355\u5ba1\u6279 crud \u2014 \u5bf9\u7167 crmquoteapprovalserviceimpl.java"
},
{
@@ -16829,7 +16901,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L49",
"id": "crm_quote_approval_rationale_49",
- "community": 5,
+ "community": 33,
"norm_label": "java: querylistbyquoteid(\u542b\u5ba1\u6279\u4eba\u6635\u79f0)"
},
{
@@ -16838,7 +16910,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L92",
"id": "crm_quote_approval_rationale_92",
- "community": 5,
+ "community": 33,
"norm_label": "java: createapprovalrecords"
},
{
@@ -16847,7 +16919,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L194",
"id": "crm_quote_approval_rationale_194",
- "community": 5,
+ "community": 33,
"norm_label": "java: crmquoteapprovalserviceimpl.withdrawapproval(\u4e0d\u6821\u9a8c\u521b\u5efa\u4eba)"
},
{
@@ -16856,7 +16928,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L218",
"id": "crm_quote_approval_rationale_218",
- "community": 5,
+ "community": 33,
"norm_label": "java: deletependingapprovals"
},
{
@@ -16865,7 +16937,7 @@
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L237",
"id": "crm_quote_approval_rationale_237",
- "community": 5,
+ "community": 33,
"norm_label": "java: refreshapprovernames"
},
{
@@ -18791,7 +18863,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L48",
"id": "crm_contract_ensure_contract_in_scope",
- "community": 6,
+ "community": 29,
"norm_label": "_ensure_contract_in_scope()"
},
{
@@ -18800,7 +18872,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L48",
"id": "app_crud_crm_contract_py_session",
- "community": 6,
+ "community": 29,
"norm_label": "session"
},
{
@@ -18809,7 +18881,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L48",
"id": "app_crud_crm_contract_py_crmcontract",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontract"
},
{
@@ -18827,7 +18899,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L52",
"id": "crm_contract_get_contract_row_in_scope",
- "community": 6,
+ "community": 29,
"norm_label": "_get_contract_row_in_scope()"
},
{
@@ -18836,7 +18908,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L69",
"id": "crm_contract_total_pages",
- "community": 6,
+ "community": 46,
"norm_label": "total_pages()"
},
{
@@ -18845,7 +18917,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L69",
"id": "app_crud_crm_contract_py_int",
- "community": 6,
+ "community": 46,
"norm_label": "int"
},
{
@@ -18890,7 +18962,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L83",
"id": "app_crud_crm_contract_py_date",
- "community": 51,
+ "community": 6,
"norm_label": "date"
},
{
@@ -18908,7 +18980,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L101",
"id": "app_crud_crm_contract_py_datetime",
- "community": 51,
+ "community": 6,
"norm_label": "datetime"
},
{
@@ -18935,7 +19007,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L134",
"id": "crm_contract_is_blank",
- "community": 6,
+ "community": 29,
"norm_label": "_is_blank()"
},
{
@@ -18944,7 +19016,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L134",
"id": "app_crud_crm_contract_py_bool",
- "community": 6,
+ "community": 29,
"norm_label": "bool"
},
{
@@ -18980,7 +19052,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L168",
"id": "crm_contract_row_to_dict",
- "community": 62,
+ "community": 6,
"norm_label": "_row_to_dict()"
},
{
@@ -18998,7 +19070,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L249",
"id": "crm_contract_build_contract_filters",
- "community": 62,
+ "community": 6,
"norm_label": "_build_contract_filters()"
},
{
@@ -19007,7 +19079,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L249",
"id": "app_crud_crm_contract_py_query",
- "community": 51,
+ "community": 6,
"norm_label": "query"
},
{
@@ -19025,7 +19097,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L424",
"id": "crm_contract_get_contract",
- "community": 6,
+ "community": 29,
"norm_label": "get_contract()"
},
{
@@ -19043,7 +19115,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L549",
"id": "crm_contract_get_contract_row",
- "community": 6,
+ "community": 29,
"norm_label": "get_contract_row()"
},
{
@@ -19160,7 +19232,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1052",
"id": "crm_contract_soft_delete_contracts",
- "community": 6,
+ "community": 29,
"norm_label": "soft_delete_contracts()"
},
{
@@ -19169,7 +19241,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1076",
"id": "crm_contract_parse_letter_oss_ids_from_tier",
- "community": 51,
+ "community": 6,
"norm_label": "_parse_letter_oss_ids_from_tier()"
},
{
@@ -19178,7 +19250,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1076",
"id": "app_crud_crm_contract_py_crmcontractproductpricetier",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontractproductpricetier"
},
{
@@ -19187,7 +19259,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1094",
"id": "crm_contract_validate_framework_contract_for_submit_approval",
- "community": 51,
+ "community": 19,
"norm_label": "validate_framework_contract_for_submit_approval()"
},
{
@@ -19196,7 +19268,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1141",
"id": "crm_contract_submit_contract_approval",
- "community": 6,
+ "community": 29,
"norm_label": "submit_contract_approval()"
},
{
@@ -19214,7 +19286,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1214",
"id": "crm_contract_withdraw_contract_approval",
- "community": 52,
+ "community": 29,
"norm_label": "withdraw_contract_approval()"
},
{
@@ -19223,7 +19295,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1241",
"id": "crm_contract_start_execute",
- "community": 6,
+ "community": 29,
"norm_label": "start_execute()"
},
{
@@ -19232,7 +19304,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1264",
"id": "crm_contract_finish_contract",
- "community": 6,
+ "community": 29,
"norm_label": "finish_contract()"
},
{
@@ -19241,7 +19313,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1287",
"id": "crm_contract_invalid_contract",
- "community": 6,
+ "community": 29,
"norm_label": "invalid_contract()"
},
{
@@ -19250,7 +19322,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1315",
"id": "crm_contract_save_template",
- "community": 6,
+ "community": 29,
"norm_label": "save_template()"
},
{
@@ -19259,7 +19331,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1345",
"id": "crm_contract_get_template",
- "community": 6,
+ "community": 29,
"norm_label": "get_template()"
},
{
@@ -19268,7 +19340,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1352",
"id": "crm_contract_upload_file",
- "community": 6,
+ "community": 29,
"norm_label": "upload_file()"
},
{
@@ -19277,7 +19349,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1369",
"id": "crm_contract_upload_attachments",
- "community": 6,
+ "community": 29,
"norm_label": "upload_attachments()"
},
{
@@ -19286,7 +19358,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1394",
"id": "crm_contract_upload_attachments_with_category",
- "community": 6,
+ "community": 29,
"norm_label": "upload_attachments_with_category()"
},
{
@@ -19394,7 +19466,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1813",
"id": "crmcontractchange",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontractchange"
},
{
@@ -19403,7 +19475,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1835",
"id": "crm_contract_list_contract_changes",
- "community": 6,
+ "community": 46,
"norm_label": "list_contract_changes()"
},
{
@@ -19430,7 +19502,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1888",
"id": "crmcontracttemplate",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontracttemplate"
},
{
@@ -19439,7 +19511,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1913",
"id": "crm_contract_list_contract_templates",
- "community": 6,
+ "community": 46,
"norm_label": "list_contract_templates()"
},
{
@@ -19457,7 +19529,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1966",
"id": "crm_contract_opportunity_products_to_contract_products",
- "community": 6,
+ "community": 126,
"norm_label": "_opportunity_products_to_contract_products()"
},
{
@@ -19466,7 +19538,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1991",
"id": "crm_contract_create_from_opportunity",
- "community": 6,
+ "community": 126,
"norm_label": "create_from_opportunity()"
},
{
@@ -19475,7 +19547,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2044",
"id": "crm_contract_sign_contract",
- "community": 6,
+ "community": 29,
"norm_label": "sign_contract()"
},
{
@@ -19511,7 +19583,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2158",
"id": "crm_contract_get_change_row",
- "community": 6,
+ "community": 29,
"norm_label": "_get_change_row()"
},
{
@@ -19547,7 +19619,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2274",
"id": "crm_contract_soft_delete_contract_changes",
- "community": 6,
+ "community": 29,
"norm_label": "soft_delete_contract_changes()"
},
{
@@ -19565,7 +19637,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2323",
"id": "crm_contract_withdraw_change",
- "community": 6,
+ "community": 29,
"norm_label": "withdraw_change()"
},
{
@@ -19574,7 +19646,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2336",
"id": "crm_contract_execute_change",
- "community": 6,
+ "community": 29,
"norm_label": "execute_change()"
},
{
@@ -19583,7 +19655,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2348",
"id": "crm_contract_export_contract_changes",
- "community": 6,
+ "community": 46,
"norm_label": "export_contract_changes()"
},
{
@@ -19610,7 +19682,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2471",
"id": "crm_contract_soft_delete_contract_templates",
- "community": 6,
+ "community": 46,
"norm_label": "soft_delete_contract_templates()"
},
{
@@ -19619,7 +19691,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2505",
"id": "crm_contract_toggle_contract_template_active",
- "community": 6,
+ "community": 46,
"norm_label": "toggle_contract_template_active()"
},
{
@@ -19628,7 +19700,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2531",
"id": "crm_contract_export_contract_templates",
- "community": 6,
+ "community": 46,
"norm_label": "export_contract_templates()"
},
{
@@ -19646,7 +19718,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L169",
"id": "crm_contract_rationale_169",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)"
},
{
@@ -19655,7 +19727,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L256",
"id": "crm_contract_rationale_256",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper"
},
{
@@ -19682,7 +19754,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1060",
"id": "crm_contract_rationale_1060",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664"
},
{
@@ -19691,7 +19763,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1101",
"id": "crm_contract_rationale_1101",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval"
},
{
@@ -19709,7 +19781,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L1223",
"id": "crm_contract_rationale_1223",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval"
},
{
@@ -19745,7 +19817,7 @@
"source_file": "app/crud/crm/contract.py",
"source_location": "L2001",
"id": "crm_contract_rationale_2001",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id"
},
{
@@ -20150,7 +20222,7 @@
"source_file": "app/api/public.py",
"source_location": "L79",
"id": "app_api_public_py_request",
- "community": 36,
+ "community": 130,
"norm_label": "request"
},
{
@@ -20159,7 +20231,7 @@
"source_file": "app/api/public.py",
"source_location": "L79",
"id": "app_api_public_py_session",
- "community": 36,
+ "community": 130,
"norm_label": "session"
},
{
@@ -20177,7 +20249,7 @@
"source_file": "app/api/public.py",
"source_location": "L199",
"id": "api_public_logout",
- "community": 36,
+ "community": 67,
"norm_label": "logout()"
},
{
@@ -20186,7 +20258,7 @@
"source_file": "app/api/public.py",
"source_location": "L218",
"id": "api_public_get_current_user_profile",
- "community": 36,
+ "community": 130,
"norm_label": "get_current_user_profile()"
},
{
@@ -20195,7 +20267,7 @@
"source_file": "app/api/public.py",
"source_location": "L251",
"id": "api_public_get_web_auth_menu_codes",
- "community": 36,
+ "community": 130,
"norm_label": "get_web_auth_menu_codes()"
},
{
@@ -20204,7 +20276,7 @@
"source_file": "app/api/public.py",
"source_location": "L288",
"id": "api_public_public_quote_share",
- "community": 12,
+ "community": 130,
"norm_label": "public_quote_share()"
},
{
@@ -20249,7 +20321,7 @@
"source_file": "app/api/public.py",
"source_location": "L200",
"id": "api_public_rationale_200",
- "community": 36,
+ "community": 67,
"norm_label": "\u767b\u51fa:\u540a\u9500 redis \u4f1a\u8bdd(\u82e5\u5df2\u914d\u7f6e redis_host)\u3002"
},
{
@@ -20258,7 +20330,7 @@
"source_file": "app/api/public.py",
"source_location": "L219",
"id": "api_public_rationale_219",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u4fe1\u606f(\u4e0e sys_user \u5b57\u6bb5\u5bf9\u5e94)\u3002"
},
{
@@ -20267,7 +20339,7 @@
"source_file": "app/api/public.py",
"source_location": "L252",
"id": "api_public_rationale_252",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u83dc\u5355\u6743\u9650\u6807\u8bc6(sys_menu.perms,\u7ecf\u89d2\u8272\u7ee7\u627f)\u3002"
},
{
@@ -20276,7 +20348,7 @@
"source_file": "app/api/public.py",
"source_location": "L294",
"id": "api_public_rationale_294",
- "community": 12,
+ "community": 130,
"norm_label": "\u516c\u5f00\u5206\u4eab\u67e5\u770b\u62a5\u4ef7\u5355 \u2014 java: get /share/{sharecode}(\u65e0 jwt)"
},
{
@@ -20312,7 +20384,7 @@
"source_file": "app/api/monitor.py",
"source_location": "L28",
"id": "operloglistbody",
- "community": 151,
+ "community": 58,
"norm_label": "operloglistbody"
},
{
@@ -20339,7 +20411,7 @@
"source_file": "app/api/monitor.py",
"source_location": "L67",
"id": "operlogdetailbody",
- "community": 151,
+ "community": 58,
"norm_label": "operlogdetailbody"
},
{
@@ -20357,7 +20429,7 @@
"source_file": "app/api/crm_contract_sub_routes.py",
"source_location": "L1",
"id": "app_api_crm_contract_sub_routes_py",
- "community": 6,
+ "community": 46,
"norm_label": "crm_contract_sub_routes.py"
},
{
@@ -20366,7 +20438,7 @@
"source_file": "app/api/crm_contract_sub_routes.py",
"source_location": "L68",
"id": "api_crm_contract_sub_routes_register_contract_sub_routes",
- "community": 6,
+ "community": 46,
"norm_label": "register_contract_sub_routes()"
},
{
@@ -20375,7 +20447,7 @@
"source_file": "app/api/crm_contract_sub_routes.py",
"source_location": "L1",
"id": "api_crm_contract_sub_routes_rationale_1",
- "community": 6,
+ "community": 46,
"norm_label": "crm \u5408\u540c\u5b50\u6a21\u5757\u8def\u7531 \u2014 \u53d8\u66f4/\u6a21\u677f/\u5ba1\u6279\u72ec\u7acb\u9875"
},
{
@@ -20438,7 +20510,7 @@
"source_file": "app/api/crm.py",
"source_location": "L419",
"id": "api_crm_customer_create",
- "community": 20,
+ "community": 3,
"norm_label": "customer_create()"
},
{
@@ -20708,7 +20780,7 @@
"source_file": "app/api/crm.py",
"source_location": "L881",
"id": "api_crm_product_import_template",
- "community": 3,
+ "community": 75,
"norm_label": "product_import_template()"
},
{
@@ -20771,7 +20843,7 @@
"source_file": "app/api/crm.py",
"source_location": "L1064",
"id": "api_crm_customer_import_template",
- "community": 3,
+ "community": 75,
"norm_label": "customer_import_template()"
},
{
@@ -21896,7 +21968,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3080",
"id": "api_crm_supplier_info_list",
- "community": 33,
+ "community": 16,
"norm_label": "supplier_info_list()"
},
{
@@ -21950,7 +22022,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3163",
"id": "api_crm_supplier_info_add",
- "community": 33,
+ "community": 16,
"norm_label": "supplier_info_add()"
},
{
@@ -22031,7 +22103,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3297",
"id": "api_crm_invoice_info_list",
- "community": 33,
+ "community": 60,
"norm_label": "invoice_info_list()"
},
{
@@ -22409,7 +22481,7 @@
"source_file": "app/api/crm.py",
"source_location": "L4104",
"id": "api_crm_clue_import_template",
- "community": 3,
+ "community": 75,
"norm_label": "clue_import_template()"
},
{
@@ -22544,7 +22616,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3085",
"id": "api_crm_rationale_3085",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list"
},
{
@@ -22571,7 +22643,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3168",
"id": "api_crm_rationale_3168",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add"
},
{
@@ -22607,7 +22679,7 @@
"source_file": "app/api/crm.py",
"source_location": "L3302",
"id": "api_crm_rationale_3302",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)"
},
{
@@ -22661,7 +22733,7 @@
"source_file": "app/api/crm_quote_routes.py",
"source_location": "L1",
"id": "app_api_crm_quote_routes_py",
- "community": 48,
+ "community": 40,
"norm_label": "crm_quote_routes.py"
},
{
@@ -22679,7 +22751,7 @@
"source_file": "app/api/crm_quote_routes.py",
"source_location": "L1",
"id": "api_crm_quote_routes_rationale_1",
- "community": 48,
+ "community": 40,
"norm_label": "crm \u62a5\u4ef7\u5355 api \u8def\u7531 \u2014 \u6302\u63a5\u5230 crm.router"
},
{
@@ -22697,7 +22769,7 @@
"source_file": "app/api/admin.py",
"source_location": "L42",
"id": "api_admin_list_roles_for_select",
- "community": 12,
+ "community": 130,
"norm_label": "list_roles_for_select()"
},
{
@@ -22733,7 +22805,7 @@
"source_file": "app/api/admin.py",
"source_location": "L117",
"id": "api_admin_tenantcreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "tenantcreatebody"
},
{
@@ -22742,7 +22814,7 @@
"source_file": "app/api/admin.py",
"source_location": "L128",
"id": "api_admin_tenantupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "tenantupdatebody"
},
{
@@ -22814,7 +22886,7 @@
"source_file": "app/api/admin.py",
"source_location": "L238",
"id": "api_admin_usercreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "usercreatebody"
},
{
@@ -22823,7 +22895,7 @@
"source_file": "app/api/admin.py",
"source_location": "L255",
"id": "api_admin_userupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "userupdatebody"
},
{
@@ -22886,7 +22958,7 @@
"source_file": "app/api/admin.py",
"source_location": "L428",
"id": "api_admin_dicttypecreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "dicttypecreatebody"
},
{
@@ -22895,7 +22967,7 @@
"source_file": "app/api/admin.py",
"source_location": "L437",
"id": "api_admin_dicttypeupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "dicttypeupdatebody"
},
{
@@ -22940,7 +23012,7 @@
"source_file": "app/api/admin.py",
"source_location": "L527",
"id": "api_admin_dictdatacreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "dictdatacreatebody"
},
{
@@ -22949,7 +23021,7 @@
"source_file": "app/api/admin.py",
"source_location": "L538",
"id": "api_admin_dictdataupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "dictdataupdatebody"
},
{
@@ -23012,7 +23084,7 @@
"source_file": "app/api/admin.py",
"source_location": "L668",
"id": "api_admin_deptcreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "deptcreatebody"
},
{
@@ -23021,7 +23093,7 @@
"source_file": "app/api/admin.py",
"source_location": "L681",
"id": "api_admin_deptupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "deptupdatebody"
},
{
@@ -23066,7 +23138,7 @@
"source_file": "app/api/admin.py",
"source_location": "L774",
"id": "api_admin_sitecreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "sitecreatebody"
},
{
@@ -23075,7 +23147,7 @@
"source_file": "app/api/admin.py",
"source_location": "L789",
"id": "api_admin_siteupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "siteupdatebody"
},
{
@@ -23120,7 +23192,7 @@
"source_file": "app/api/admin.py",
"source_location": "L893",
"id": "api_admin_postcreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "postcreatebody"
},
{
@@ -23129,7 +23201,7 @@
"source_file": "app/api/admin.py",
"source_location": "L903",
"id": "api_admin_postupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "postupdatebody"
},
{
@@ -23174,7 +23246,7 @@
"source_file": "app/api/admin.py",
"source_location": "L987",
"id": "api_admin_postusersupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "postusersupdatebody"
},
{
@@ -23201,7 +23273,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1032",
"id": "api_admin_menucreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "menucreatebody"
},
{
@@ -23210,7 +23282,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1048",
"id": "api_admin_menuupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "menuupdatebody"
},
{
@@ -23255,7 +23327,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1152",
"id": "api_admin_rolecreatebody",
- "community": 101,
+ "community": 12,
"norm_label": "rolecreatebody"
},
{
@@ -23264,7 +23336,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1162",
"id": "api_admin_roleupdatebody",
- "community": 101,
+ "community": 12,
"norm_label": "roleupdatebody"
},
{
@@ -23273,7 +23345,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1172",
"id": "api_admin_rolemenubody",
- "community": 101,
+ "community": 12,
"norm_label": "rolemenubody"
},
{
@@ -23282,7 +23354,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1176",
"id": "api_admin_roledatascopebody",
- "community": 101,
+ "community": 12,
"norm_label": "roledatascopebody"
},
{
@@ -23381,7 +23453,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1332",
"id": "app_api_admin_py_uploadfile",
- "community": 101,
+ "community": 12,
"norm_label": "uploadfile"
},
{
@@ -23390,7 +23462,7 @@
"source_file": "app/api/admin.py",
"source_location": "L1382",
"id": "api_admin_attachmentdownloadurlbody",
- "community": 101,
+ "community": 12,
"norm_label": "attachmentdownloadurlbody"
},
{
@@ -23417,7 +23489,7 @@
"source_file": "app/api/admin.py",
"source_location": "L46",
"id": "api_admin_rationale_46",
- "community": 12,
+ "community": 130,
"norm_label": "\u8fd4\u56de\u8fd0\u8425\u7aef\u89d2\u8272\u4e0b\u62c9\u9009\u9879(label=\u5e93\u4e2d\u89d2\u8272\u540d,value=web \u89d2\u8272\u7801)\u3002"
},
{
@@ -23462,7 +23534,7 @@
"source_file": "app/api/crm_contract_routes.py",
"source_location": "L1",
"id": "app_api_crm_contract_routes_py",
- "community": 29,
+ "community": 46,
"norm_label": "crm_contract_routes.py"
},
{
@@ -23471,7 +23543,7 @@
"source_file": "app/api/crm_contract_routes.py",
"source_location": "L75",
"id": "api_crm_contract_routes_register_contract_routes",
- "community": 6,
+ "community": 29,
"norm_label": "register_contract_routes()"
},
{
@@ -23480,7 +23552,7 @@
"source_file": "app/api/crm_contract_routes.py",
"source_location": "L1",
"id": "api_crm_contract_routes_rationale_1",
- "community": 29,
+ "community": 46,
"norm_label": "crm \u5408\u540c api \u8def\u7531 \u2014 get/put/delete/post \u5bf9\u9f50\u539f java crm"
},
{
@@ -23489,7 +23561,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L1",
"id": "app_api_workflow_py",
- "community": 104,
+ "community": 76,
"norm_label": "workflow.py"
},
{
@@ -23498,7 +23570,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L27",
"id": "api_workflow_business_type_label",
- "community": 104,
+ "community": 76,
"norm_label": "_business_type_label()"
},
{
@@ -23507,7 +23579,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L27",
"id": "app_api_workflow_py_str",
- "community": 104,
+ "community": 76,
"norm_label": "str"
},
{
@@ -23516,7 +23588,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L33",
"id": "api_workflow_portal_user_info",
- "community": 104,
+ "community": 76,
"norm_label": "_portal_user_info()"
},
{
@@ -23525,7 +23597,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L44",
"id": "api_workflow_assert_wf_instance_in_scope",
- "community": 104,
+ "community": 76,
"norm_label": "_assert_wf_instance_in_scope()"
},
{
@@ -23534,7 +23606,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L44",
"id": "app_api_workflow_py_session",
- "community": 104,
+ "community": 76,
"norm_label": "session"
},
{
@@ -23561,7 +23633,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L66",
"id": "api_workflow_leave_form_fields",
- "community": 104,
+ "community": 76,
"norm_label": "_leave_form_fields()"
},
{
@@ -23570,7 +23642,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L90",
"id": "api_workflow_get_business_form_fields",
- "community": 104,
+ "community": 76,
"norm_label": "_get_business_form_fields()"
},
{
@@ -23579,7 +23651,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L103",
"id": "api_workflow_enrich_task_list",
- "community": 104,
+ "community": 76,
"norm_label": "_enrich_task_list()"
},
{
@@ -23633,7 +23705,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L159",
"id": "api_workflow_taskactionbody",
- "community": 2,
+ "community": 76,
"norm_label": "taskactionbody"
},
{
@@ -23642,7 +23714,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L176",
"id": "api_workflow_list_process_defs",
- "community": 104,
+ "community": 76,
"norm_label": "list_process_defs()"
},
{
@@ -23651,7 +23723,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L176",
"id": "app_api_workflow_py_int",
- "community": 104,
+ "community": 76,
"norm_label": "int"
},
{
@@ -23660,7 +23732,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L193",
"id": "api_workflow_create_process_def",
- "community": 104,
+ "community": 3,
"norm_label": "create_process_def()"
},
{
@@ -23669,7 +23741,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L216",
"id": "api_workflow_update_process_def",
- "community": 104,
+ "community": 76,
"norm_label": "update_process_def()"
},
{
@@ -23678,7 +23750,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L241",
"id": "api_workflow_delete_process_def",
- "community": 104,
+ "community": 76,
"norm_label": "delete_process_def()"
},
{
@@ -23687,7 +23759,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L259",
"id": "api_workflow_publish_version",
- "community": 104,
+ "community": 76,
"norm_label": "publish_version()"
},
{
@@ -23696,7 +23768,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L283",
"id": "api_workflow_list_versions",
- "community": 104,
+ "community": 76,
"norm_label": "list_versions()"
},
{
@@ -23705,7 +23777,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L294",
"id": "api_workflow_get_designer_data",
- "community": 104,
+ "community": 76,
"norm_label": "get_designer_data()"
},
{
@@ -23714,7 +23786,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L325",
"id": "api_workflow_start_instance",
- "community": 104,
+ "community": 3,
"norm_label": "start_instance()"
},
{
@@ -23723,7 +23795,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L363",
"id": "api_workflow_list_my_instances",
- "community": 104,
+ "community": 76,
"norm_label": "list_my_instances()"
},
{
@@ -23732,7 +23804,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L383",
"id": "api_workflow_get_instance_detail",
- "community": 104,
+ "community": 76,
"norm_label": "get_instance_detail()"
},
{
@@ -23741,7 +23813,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L447",
"id": "api_workflow_list_pending_tasks",
- "community": 104,
+ "community": 76,
"norm_label": "list_pending_tasks()"
},
{
@@ -23750,7 +23822,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L465",
"id": "api_workflow_list_completed_tasks",
- "community": 104,
+ "community": 76,
"norm_label": "list_completed_tasks()"
},
{
@@ -23759,7 +23831,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L488",
"id": "api_workflow_approve_task",
- "community": 104,
+ "community": 76,
"norm_label": "approve_task()"
},
{
@@ -23768,7 +23840,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L513",
"id": "api_workflow_reject_task",
- "community": 104,
+ "community": 76,
"norm_label": "reject_task()"
},
{
@@ -23777,7 +23849,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L543",
"id": "api_workflow_get_business_all_tasks",
- "community": 104,
+ "community": 76,
"norm_label": "get_business_all_tasks()"
},
{
@@ -23786,7 +23858,7 @@
"source_file": "app/api/workflow.py",
"source_location": "L160",
"id": "api_workflow_rationale_160",
- "community": 2,
+ "community": 76,
"norm_label": "\u5ba1\u6279\u610f\u89c1:\u524d\u7aef\u4f20 commenttext,\u517c\u5bb9 comment\u3002"
},
{
@@ -23795,7 +23867,7 @@
"source_file": "app/api/leave.py",
"source_location": "L1",
"id": "app_api_leave_py",
- "community": 118,
+ "community": 58,
"norm_label": "leave.py"
},
{
@@ -23804,7 +23876,7 @@
"source_file": "app/api/leave.py",
"source_location": "L24",
"id": "api_leave_leave_local_callback",
- "community": 118,
+ "community": 58,
"norm_label": "_leave_local_callback()"
},
{
@@ -23813,7 +23885,7 @@
"source_file": "app/api/leave.py",
"source_location": "L24",
"id": "app_api_leave_py_session",
- "community": 118,
+ "community": 58,
"norm_label": "session"
},
{
@@ -23822,7 +23894,7 @@
"source_file": "app/api/leave.py",
"source_location": "L24",
"id": "app_api_leave_py_str",
- "community": 118,
+ "community": 58,
"norm_label": "str"
},
{
@@ -23831,7 +23903,7 @@
"source_file": "app/api/leave.py",
"source_location": "L39",
"id": "api_leave_list_leaves",
- "community": 118,
+ "community": 58,
"norm_label": "list_leaves()"
},
{
@@ -23840,7 +23912,7 @@
"source_file": "app/api/leave.py",
"source_location": "L39",
"id": "app_api_leave_py_int",
- "community": 118,
+ "community": 58,
"norm_label": "int"
},
{
@@ -23849,7 +23921,7 @@
"source_file": "app/api/leave.py",
"source_location": "L62",
"id": "api_leave_create_leave",
- "community": 118,
+ "community": 58,
"norm_label": "create_leave()"
},
{
@@ -23858,7 +23930,7 @@
"source_file": "app/api/leave.py",
"source_location": "L62",
"id": "leavecreate",
- "community": 118,
+ "community": 58,
"norm_label": "leavecreate"
},
{
@@ -23867,7 +23939,7 @@
"source_file": "app/api/leave.py",
"source_location": "L87",
"id": "api_leave_submit_leave",
- "community": 118,
+ "community": 58,
"norm_label": "submit_leave()"
},
{
@@ -23876,7 +23948,7 @@
"source_file": "app/api/leave.py",
"source_location": "L142",
"id": "api_leave_leave_workflow_callback",
- "community": 118,
+ "community": 58,
"norm_label": "leave_workflow_callback()"
},
{
@@ -23885,7 +23957,7 @@
"source_file": "app/api/leave.py",
"source_location": "L161",
"id": "api_leave_get_leave",
- "community": 118,
+ "community": 58,
"norm_label": "get_leave()"
},
{
@@ -23894,7 +23966,7 @@
"source_file": "app/api/leave.py",
"source_location": "L174",
"id": "api_leave_delete_leave",
- "community": 118,
+ "community": 58,
"norm_label": "delete_leave()"
},
{
@@ -23903,7 +23975,7 @@
"source_file": "app/api/leave.py",
"source_location": "L191",
"id": "api_leave_update_leave",
- "community": 118,
+ "community": 58,
"norm_label": "update_leave()"
},
{
@@ -23912,7 +23984,7 @@
"source_file": "app/api/leave.py",
"source_location": "L191",
"id": "leaveupdate",
- "community": 118,
+ "community": 58,
"norm_label": "leaveupdate"
},
{
@@ -23928,7 +24000,7 @@
"label": "_generate_plan_no()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L78",
+ "source_location": "L83",
"id": "pl_plan_generate_plan_no",
"community": 123,
"norm_label": "_generate_plan_no()"
@@ -23937,7 +24009,7 @@
"label": "Session",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L78",
+ "source_location": "L83",
"id": "app_api_pl_plan_py_session",
"community": 15,
"norm_label": "session"
@@ -23946,7 +24018,7 @@
"label": "str",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L78",
+ "source_location": "L83",
"id": "app_api_pl_plan_py_str",
"community": 15,
"norm_label": "str"
@@ -23955,7 +24027,7 @@
"label": "_format_subpack_slip_no()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L110",
+ "source_location": "L115",
"id": "pl_plan_format_subpack_slip_no",
"community": 15,
"norm_label": "_format_subpack_slip_no()"
@@ -23964,7 +24036,7 @@
"label": "int",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L110",
+ "source_location": "L115",
"id": "app_api_pl_plan_py_int",
"community": 15,
"norm_label": "int"
@@ -23973,7 +24045,7 @@
"label": "_normalize_subpack_slip_no()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L114",
+ "source_location": "L119",
"id": "pl_plan_normalize_subpack_slip_no",
"community": 15,
"norm_label": "_normalize_subpack_slip_no()"
@@ -23982,7 +24054,7 @@
"label": "_subpack_slip_no_seq()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L139",
+ "source_location": "L144",
"id": "pl_plan_subpack_slip_no_seq",
"community": 15,
"norm_label": "_subpack_slip_no_seq()"
@@ -23991,7 +24063,7 @@
"label": "_ensure_subpack_slip_no()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L147",
+ "source_location": "L152",
"id": "pl_plan_ensure_subpack_slip_no",
"community": 15,
"norm_label": "_ensure_subpack_slip_no()"
@@ -24000,7 +24072,7 @@
"label": "PlPlan",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L147",
+ "source_location": "L152",
"id": "app_api_pl_plan_py_plplan",
"community": 15,
"norm_label": "plplan"
@@ -24009,7 +24081,7 @@
"label": "_determine_plan_type()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L179",
+ "source_location": "L184",
"id": "pl_plan_determine_plan_type",
"community": 15,
"norm_label": "_determine_plan_type()"
@@ -24018,7 +24090,7 @@
"label": "_get_plan_type_label()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L184",
+ "source_location": "L189",
"id": "pl_plan_get_plan_type_label",
"community": 15,
"norm_label": "_get_plan_type_label()"
@@ -24027,7 +24099,7 @@
"label": "_generate_notify_message()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L193",
+ "source_location": "L198",
"id": "pl_plan_generate_notify_message",
"community": 15,
"norm_label": "_generate_notify_message()"
@@ -24036,7 +24108,7 @@
"label": "list_plans()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L214",
+ "source_location": "L219",
"id": "pl_plan_list_plans",
"community": 15,
"norm_label": "list_plans()"
@@ -24045,7 +24117,7 @@
"label": "date",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L214",
+ "source_location": "L219",
"id": "app_api_pl_plan_py_date",
"community": 15,
"norm_label": "date"
@@ -24054,7 +24126,7 @@
"label": "DbUserContext",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L214",
+ "source_location": "L219",
"id": "app_api_pl_plan_py_dbusercontext",
"community": 15,
"norm_label": "dbusercontext"
@@ -24063,7 +24135,7 @@
"label": "PlanListResponse",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L214",
+ "source_location": "L219",
"id": "planlistresponse",
"community": 15,
"norm_label": "planlistresponse"
@@ -24072,7 +24144,7 @@
"label": "count_plans_by_contract()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L325",
+ "source_location": "L331",
"id": "pl_plan_count_plans_by_contract",
"community": 15,
"norm_label": "count_plans_by_contract()"
@@ -24081,7 +24153,7 @@
"label": "create_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L353",
+ "source_location": "L359",
"id": "pl_plan_create_plan",
"community": 15,
"norm_label": "create_plan()"
@@ -24090,7 +24162,7 @@
"label": "PlanCreate",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L353",
+ "source_location": "L359",
"id": "plancreate",
"community": 15,
"norm_label": "plancreate"
@@ -24099,7 +24171,7 @@
"label": "PlanRead",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L353",
+ "source_location": "L359",
"id": "planread",
"community": 15,
"norm_label": "planread"
@@ -24108,7 +24180,7 @@
"label": "create_plan_full()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L436",
+ "source_location": "L442",
"id": "pl_plan_create_plan_full",
"community": 34,
"norm_label": "create_plan_full()"
@@ -24117,7 +24189,7 @@
"label": "PlanCreateFull",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L436",
+ "source_location": "L442",
"id": "app_api_pl_plan_py_plancreatefull",
"community": 15,
"norm_label": "plancreatefull"
@@ -24126,7 +24198,7 @@
"label": "PlanWithProducts",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L436",
+ "source_location": "L442",
"id": "planwithproducts",
"community": 15,
"norm_label": "planwithproducts"
@@ -24135,7 +24207,7 @@
"label": "create_from_contract()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L542",
+ "source_location": "L549",
"id": "pl_plan_create_from_contract",
"community": 15,
"norm_label": "create_from_contract()"
@@ -24144,7 +24216,7 @@
"label": "CreateFromContractRequest",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L542",
+ "source_location": "L549",
"id": "createfromcontractrequest",
"community": 15,
"norm_label": "createfromcontractrequest"
@@ -24153,7 +24225,7 @@
"label": "get_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L649",
+ "source_location": "L658",
"id": "pl_plan_get_plan",
"community": 15,
"norm_label": "get_plan()"
@@ -24162,7 +24234,7 @@
"label": "update_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L696",
+ "source_location": "L705",
"id": "pl_plan_update_plan",
"community": 10,
"norm_label": "update_plan()"
@@ -24171,7 +24243,7 @@
"label": "PlanUpdate",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L696",
+ "source_location": "L705",
"id": "planupdate",
"community": 15,
"norm_label": "planupdate"
@@ -24180,7 +24252,7 @@
"label": "patch_plan_product_certs()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L818",
+ "source_location": "L827",
"id": "pl_plan_patch_plan_product_certs",
"community": 13,
"norm_label": "patch_plan_product_certs()"
@@ -24189,7 +24261,7 @@
"label": "PlanProductCertsUpdate",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L818",
+ "source_location": "L827",
"id": "planproductcertsupdate",
"community": 15,
"norm_label": "planproductcertsupdate"
@@ -24198,7 +24270,7 @@
"label": "patch_plan_hazard_cert_ready()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L850",
+ "source_location": "L859",
"id": "pl_plan_patch_plan_hazard_cert_ready",
"community": 15,
"norm_label": "patch_plan_hazard_cert_ready()"
@@ -24207,7 +24279,7 @@
"label": "HazardCertReadyBody",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L850",
+ "source_location": "L859",
"id": "hazardcertreadybody",
"community": 15,
"norm_label": "hazardcertreadybody"
@@ -24216,7 +24288,7 @@
"label": "_build_driver_url()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L881",
+ "source_location": "L890",
"id": "pl_plan_build_driver_url",
"community": 15,
"norm_label": "_build_driver_url()"
@@ -24225,7 +24297,7 @@
"label": "get_plan_arrange_info()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L887",
+ "source_location": "L896",
"id": "pl_plan_get_plan_arrange_info",
"community": 13,
"norm_label": "get_plan_arrange_info()"
@@ -24234,7 +24306,7 @@
"label": "PlanArrangeInfoRead",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L887",
+ "source_location": "L896",
"id": "planarrangeinforead",
"community": 15,
"norm_label": "planarrangeinforead"
@@ -24243,7 +24315,7 @@
"label": "cancel_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1001",
+ "source_location": "L1010",
"id": "pl_plan_cancel_plan",
"community": 87,
"norm_label": "cancel_plan()"
@@ -24252,7 +24324,7 @@
"label": "archive_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1059",
+ "source_location": "L1068",
"id": "pl_plan_archive_plan",
"community": 15,
"norm_label": "archive_plan()"
@@ -24261,16 +24333,52 @@
"label": "PlanArchiveBody",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1059",
+ "source_location": "L1068",
"id": "planarchivebody",
"community": 15,
"norm_label": "planarchivebody"
},
+ {
+ "label": "update_plan_driver_feedback()",
+ "file_type": "code",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1124",
+ "id": "pl_plan_update_plan_driver_feedback",
+ "community": 15,
+ "norm_label": "update_plan_driver_feedback()"
+ },
+ {
+ "label": "PlanDriverFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1124",
+ "id": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "community": 15,
+ "norm_label": "plandriverfeedbackupdatebody"
+ },
+ {
+ "label": "update_plan_site_feedback()",
+ "file_type": "code",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1155",
+ "id": "pl_plan_update_plan_site_feedback",
+ "community": 15,
+ "norm_label": "update_plan_site_feedback()"
+ },
+ {
+ "label": "PlanSiteFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1155",
+ "id": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "community": 15,
+ "norm_label": "plansitefeedbackupdatebody"
+ },
{
"label": "get_inbound_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1120",
+ "source_location": "L1194",
"id": "pl_plan_get_inbound_slip_template",
"community": 15,
"norm_label": "get_inbound_slip_template()"
@@ -24279,7 +24387,7 @@
"label": "save_inbound_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1131",
+ "source_location": "L1205",
"id": "pl_plan_save_inbound_slip_template",
"community": 15,
"norm_label": "save_inbound_slip_template()"
@@ -24288,7 +24396,7 @@
"label": "PlanInboundSlipTemplateSave",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1131",
+ "source_location": "L1205",
"id": "planinboundsliptemplatesave",
"community": 15,
"norm_label": "planinboundsliptemplatesave"
@@ -24297,7 +24405,7 @@
"label": "get_delivery_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1154",
+ "source_location": "L1228",
"id": "pl_plan_get_delivery_slip_template",
"community": 15,
"norm_label": "get_delivery_slip_template()"
@@ -24306,7 +24414,7 @@
"label": "save_delivery_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1165",
+ "source_location": "L1239",
"id": "pl_plan_save_delivery_slip_template",
"community": 15,
"norm_label": "save_delivery_slip_template()"
@@ -24315,7 +24423,7 @@
"label": "PlanDeliverySlipTemplateSave",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1165",
+ "source_location": "L1239",
"id": "plandeliverysliptemplatesave",
"community": 15,
"norm_label": "plandeliverysliptemplatesave"
@@ -24324,7 +24432,7 @@
"label": "get_subpack_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1188",
+ "source_location": "L1262",
"id": "pl_plan_get_subpack_slip_template",
"community": 15,
"norm_label": "get_subpack_slip_template()"
@@ -24333,7 +24441,7 @@
"label": "save_subpack_slip_template()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1199",
+ "source_location": "L1273",
"id": "pl_plan_save_subpack_slip_template",
"community": 15,
"norm_label": "save_subpack_slip_template()"
@@ -24342,7 +24450,7 @@
"label": "PlanSubpackSlipTemplateSave",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1199",
+ "source_location": "L1273",
"id": "plansubpacksliptemplatesave",
"community": 15,
"norm_label": "plansubpacksliptemplatesave"
@@ -24351,7 +24459,7 @@
"label": "delete_plan()",
"file_type": "code",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1236",
+ "source_location": "L1310",
"id": "pl_plan_delete_plan",
"community": 15,
"norm_label": "delete_plan()"
@@ -24360,8 +24468,8 @@
"label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 POYYYYMMDD###\uff08\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7\uff0c\u6bcf\u65e5\u91cd\u7f6e\uff09",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L79",
- "id": "pl_plan_rationale_79",
+ "source_location": "L84",
+ "id": "pl_plan_rationale_84",
"community": 123,
"norm_label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 poyyyymmdd###(\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7,\u6bcf\u65e5\u91cd\u7f6e)"
},
@@ -24369,8 +24477,8 @@
"label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a NO:SXFZYYYYMMDD-###",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L115",
- "id": "pl_plan_rationale_115",
+ "source_location": "L120",
+ "id": "pl_plan_rationale_120",
"community": 15,
"norm_label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a no:sxfzyyyymmdd-###"
},
@@ -24378,8 +24486,8 @@
"label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 NO:SXFZYYYYMMDD-###\uff08\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e\uff09",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L148",
- "id": "pl_plan_rationale_148",
+ "source_location": "L153",
+ "id": "pl_plan_rationale_153",
"community": 15,
"norm_label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 no:sxfzyyyymmdd-###(\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e)"
},
@@ -24387,8 +24495,8 @@
"label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212\uff08\u5b8c\u6574\u8868\u5355\uff1a\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86\uff0c\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93\uff09",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L441",
- "id": "pl_plan_rationale_441",
+ "source_location": "L447",
+ "id": "pl_plan_rationale_447",
"community": 34,
"norm_label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212(\u5b8c\u6574\u8868\u5355:\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86,\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93)"
},
@@ -24396,8 +24504,8 @@
"label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66\uff08\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e\uff0c\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93\uff09",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L824",
- "id": "pl_plan_rationale_824",
+ "source_location": "L833",
+ "id": "pl_plan_rationale_833",
"community": 13,
"norm_label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66(\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e,\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93)"
},
@@ -24405,8 +24513,8 @@
"label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\uff08\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801\uff09\u3002",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L892",
- "id": "pl_plan_rationale_892",
+ "source_location": "L901",
+ "id": "pl_plan_rationale_901",
"community": 13,
"norm_label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054(\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801)\u3002"
},
@@ -24414,8 +24522,8 @@
"label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212\uff1a\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002",
"file_type": "rationale",
"source_file": "app/api/pl/plan.py",
- "source_location": "L1006",
- "id": "pl_plan_rationale_1006",
+ "source_location": "L1015",
+ "id": "pl_plan_rationale_1015",
"community": 87,
"norm_label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212:\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002"
},
@@ -24587,7 +24695,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L287",
"id": "app_api_pl_transport_py_float",
- "community": 9,
+ "community": 7,
"norm_label": "float"
},
{
@@ -24614,7 +24722,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L326",
"id": "app_api_pl_transport_py_transportsitelinkread",
- "community": 15,
+ "community": 7,
"norm_label": "transportsitelinkread"
},
{
@@ -24623,7 +24731,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L326",
"id": "app_api_pl_transport_py_transportinventorylinkread",
- "community": 15,
+ "community": 7,
"norm_label": "transportinventorylinkread"
},
{
@@ -24668,7 +24776,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L346",
"id": "transportlistresponse",
- "community": 9,
+ "community": 7,
"norm_label": "transportlistresponse"
},
{
@@ -24686,7 +24794,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L403",
"id": "transportcreate",
- "community": 9,
+ "community": 7,
"norm_label": "transportcreate"
},
{
@@ -24695,7 +24803,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L403",
"id": "transportread",
- "community": 9,
+ "community": 7,
"norm_label": "transportread"
},
{
@@ -24749,7 +24857,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L787",
"id": "transportfeedback",
- "community": 9,
+ "community": 7,
"norm_label": "transportfeedback"
},
{
@@ -24767,7 +24875,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L828",
"id": "approvalsubmit",
- "community": 9,
+ "community": 7,
"norm_label": "approvalsubmit"
},
{
@@ -24785,7 +24893,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L873",
"id": "approvalrequest",
- "community": 9,
+ "community": 7,
"norm_label": "approvalrequest"
},
{
@@ -24794,7 +24902,7 @@
"source_file": "app/api/pl/transport.py",
"source_location": "L873",
"id": "approvalrecordread",
- "community": 9,
+ "community": 7,
"norm_label": "approvalrecordread"
},
{
@@ -25064,7 +25172,7 @@
"source_file": "app/api/pl/__init__.py",
"source_location": "L1",
"id": "app_api_pl_init_py",
- "community": 41,
+ "community": 129,
"norm_label": "__init__.py"
},
{
@@ -25577,7 +25685,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L1",
"id": "app_api_pl_transport_address_py",
- "community": 114,
+ "community": 108,
"norm_label": "transport_address.py"
},
{
@@ -25586,7 +25694,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L25",
"id": "pl_transport_address_address_to_read",
- "community": 114,
+ "community": 108,
"norm_label": "_address_to_read()"
},
{
@@ -25595,7 +25703,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L25",
"id": "pltransportaddress",
- "community": 114,
+ "community": 108,
"norm_label": "pltransportaddress"
},
{
@@ -25604,7 +25712,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L25",
"id": "transportaddressread",
- "community": 114,
+ "community": 108,
"norm_label": "transportaddressread"
},
{
@@ -25613,7 +25721,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L29",
"id": "pl_transport_address_get_address",
- "community": 114,
+ "community": 108,
"norm_label": "_get_address()"
},
{
@@ -25622,7 +25730,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L29",
"id": "app_api_pl_transport_address_py_session",
- "community": 114,
+ "community": 108,
"norm_label": "session"
},
{
@@ -25631,7 +25739,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L29",
"id": "app_api_pl_transport_address_py_str",
- "community": 114,
+ "community": 108,
"norm_label": "str"
},
{
@@ -25640,7 +25748,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L29",
"id": "app_api_pl_transport_address_py_dbusercontext",
- "community": 114,
+ "community": 108,
"norm_label": "dbusercontext"
},
{
@@ -25649,7 +25757,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L47",
"id": "pl_transport_address_build_address_query",
- "community": 114,
+ "community": 108,
"norm_label": "_build_address_query()"
},
{
@@ -25658,7 +25766,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L57",
"id": "pl_transport_address_list_transport_addresses",
- "community": 114,
+ "community": 108,
"norm_label": "list_transport_addresses()"
},
{
@@ -25667,7 +25775,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L57",
"id": "app_api_pl_transport_address_py_int",
- "community": 114,
+ "community": 108,
"norm_label": "int"
},
{
@@ -25676,7 +25784,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L57",
"id": "transportaddresslistresponse",
- "community": 114,
+ "community": 108,
"norm_label": "transportaddresslistresponse"
},
{
@@ -25685,7 +25793,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L97",
"id": "pl_transport_address_list_all_transport_addresses",
- "community": 114,
+ "community": 108,
"norm_label": "list_all_transport_addresses()"
},
{
@@ -25694,7 +25802,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L124",
"id": "pl_transport_address_create_transport_address",
- "community": 114,
+ "community": 108,
"norm_label": "create_transport_address()"
},
{
@@ -25703,7 +25811,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L124",
"id": "transportaddresscreate",
- "community": 114,
+ "community": 108,
"norm_label": "transportaddresscreate"
},
{
@@ -25712,7 +25820,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L151",
"id": "pl_transport_address_get_transport_address",
- "community": 114,
+ "community": 108,
"norm_label": "get_transport_address()"
},
{
@@ -25721,7 +25829,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L162",
"id": "pl_transport_address_update_transport_address",
- "community": 114,
+ "community": 108,
"norm_label": "update_transport_address()"
},
{
@@ -25730,7 +25838,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L162",
"id": "transportaddressupdate",
- "community": 114,
+ "community": 108,
"norm_label": "transportaddressupdate"
},
{
@@ -25739,7 +25847,7 @@
"source_file": "app/api/pl/transport_address.py",
"source_location": "L183",
"id": "pl_transport_address_delete_transport_address",
- "community": 114,
+ "community": 108,
"norm_label": "delete_transport_address()"
},
{
@@ -25928,7 +26036,7 @@
"source_file": "app/api/pl/base_data.py",
"source_location": "L271",
"id": "vehicleread",
- "community": 39,
+ "community": 27,
"norm_label": "vehicleread"
},
{
@@ -26498,6 +26606,60 @@
"community": 11,
"norm_label": "delete_disburses()"
},
+ {
+ "label": "menu_badges.py",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L1",
+ "id": "app_api_pl_menu_badges_py",
+ "community": 129,
+ "norm_label": "menu_badges.py"
+ },
+ {
+ "label": "menu_badge_stats()",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "id": "pl_menu_badges_menu_badge_stats",
+ "community": 9,
+ "norm_label": "menu_badge_stats()"
+ },
+ {
+ "label": "str",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "id": "app_api_pl_menu_badges_py_str",
+ "community": 9,
+ "norm_label": "str"
+ },
+ {
+ "label": "Session",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "id": "app_api_pl_menu_badges_py_session",
+ "community": 9,
+ "norm_label": "session"
+ },
+ {
+ "label": "DbUserContext",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "id": "app_api_pl_menu_badges_py_dbusercontext",
+ "community": 9,
+ "norm_label": "dbusercontext"
+ },
+ {
+ "label": "PlMenuBadgeStatsRead",
+ "file_type": "code",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "id": "plmenubadgestatsread",
+ "community": 9,
+ "norm_label": "plmenubadgestatsread"
+ },
{
"label": "vehicle_recharge.py",
"file_type": "code",
@@ -26945,7 +27107,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L1",
"id": "app_api_pl_inventory_py",
- "community": 9,
+ "community": 49,
"norm_label": "inventory.py"
},
{
@@ -26954,7 +27116,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L50",
"id": "pl_inventory_get_inventory_ledger",
- "community": 9,
+ "community": 48,
"norm_label": "get_inventory_ledger()"
},
{
@@ -26963,7 +27125,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L81",
"id": "pl_inventory_set_warning_threshold",
- "community": 9,
+ "community": 48,
"norm_label": "set_warning_threshold()"
},
{
@@ -26972,7 +27134,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L130",
"id": "pl_inventory_list_warnings",
- "community": 9,
+ "community": 48,
"norm_label": "list_warnings()"
},
{
@@ -26981,7 +27143,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L149",
"id": "pl_inventory_update_warning",
- "community": 9,
+ "community": 48,
"norm_label": "update_warning()"
},
{
@@ -26990,7 +27152,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L189",
"id": "pl_inventory_list_transactions",
- "community": 9,
+ "community": 48,
"norm_label": "list_transactions()"
},
{
@@ -26999,7 +27161,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L232",
"id": "pl_inventory_get_summary",
- "community": 9,
+ "community": 48,
"norm_label": "get_summary()"
},
{
@@ -27008,7 +27170,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L294",
"id": "pl_inventory_document_reminder_stats",
- "community": 9,
+ "community": 49,
"norm_label": "document_reminder_stats()"
},
{
@@ -27017,7 +27179,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L314",
"id": "pl_inventory_list_document_reminders",
- "community": 9,
+ "community": 48,
"norm_label": "list_document_reminders()"
},
{
@@ -27026,7 +27188,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L336",
"id": "pl_inventory_update_document_reminder",
- "community": 9,
+ "community": 48,
"norm_label": "update_document_reminder()"
},
{
@@ -27035,7 +27197,7 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L373",
"id": "pl_inventory_check_document_expiry",
- "community": 19,
+ "community": 49,
"norm_label": "check_document_expiry()"
},
{
@@ -27044,7 +27206,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L1",
"id": "app_api_bx_reimburse_py",
- "community": 30,
+ "community": 42,
"norm_label": "reimburse.py"
},
{
@@ -27053,7 +27215,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L29",
"id": "bx_reimburse_tenant",
- "community": 30,
+ "community": 42,
"norm_label": "_tenant()"
},
{
@@ -27062,7 +27224,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L29",
"id": "app_api_bx_reimburse_py_session",
- "community": 30,
+ "community": 42,
"norm_label": "session"
},
{
@@ -27071,7 +27233,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L29",
"id": "app_api_bx_reimburse_py_bxusercontext",
- "community": 30,
+ "community": 42,
"norm_label": "bxusercontext"
},
{
@@ -27080,7 +27242,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L29",
"id": "app_api_bx_reimburse_py_str",
- "community": 30,
+ "community": 42,
"norm_label": "str"
},
{
@@ -27089,7 +27251,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L33",
"id": "bx_reimburse_build_details_data",
- "community": 30,
+ "community": 42,
"norm_label": "_build_details_data()"
},
{
@@ -27098,7 +27260,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L54",
"id": "bx_reimburse_get_generated_title",
- "community": 30,
+ "community": 42,
"norm_label": "get_generated_title()"
},
{
@@ -27107,7 +27269,7 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L67",
"id": "bx_reimburse_list_reimburses",
- "community": 30,
+ "community": 42,
"norm_label": "list_reimburses()"
},
{
@@ -27116,169 +27278,169 @@
"source_file": "app/api/bx/reimburse.py",
"source_location": "L67",
"id": "app_api_bx_reimburse_py_int",
- "community": 30,
+ "community": 42,
"norm_label": "int"
},
{
"label": "my_reimburses()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L104",
+ "source_location": "L113",
"id": "bx_reimburse_my_reimburses",
- "community": 30,
+ "community": 42,
"norm_label": "my_reimburses()"
},
{
"label": "my_reimburse_stats()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L140",
+ "source_location": "L158",
"id": "bx_reimburse_my_reimburse_stats",
- "community": 30,
+ "community": 42,
"norm_label": "my_reimburse_stats()"
},
{
"label": "reimburse_status_counts()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L150",
+ "source_location": "L168",
"id": "bx_reimburse_reimburse_status_counts",
- "community": 30,
+ "community": 42,
"norm_label": "reimburse_status_counts()"
},
{
"label": "pending_approval()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L159",
+ "source_location": "L177",
"id": "bx_reimburse_pending_approval",
- "community": 30,
+ "community": 42,
"norm_label": "pending_approval()"
},
{
"label": "pending_approval_stats()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L185",
+ "source_location": "L209",
"id": "bx_reimburse_pending_approval_stats",
- "community": 30,
+ "community": 42,
"norm_label": "pending_approval_stats()"
},
{
"label": "approved_by_me()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L195",
+ "source_location": "L219",
"id": "bx_reimburse_approved_by_me",
- "community": 30,
+ "community": 42,
"norm_label": "approved_by_me()"
},
{
"label": "get_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L221",
+ "source_location": "L251",
"id": "bx_reimburse_get_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "get_reimburse()"
},
{
"label": "get_approvals()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L235",
+ "source_location": "L265",
"id": "bx_reimburse_get_approvals",
- "community": 30,
+ "community": 42,
"norm_label": "get_approvals()"
},
{
"label": "get_approval_history()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L248",
+ "source_location": "L278",
"id": "bx_reimburse_get_approval_history",
- "community": 30,
+ "community": 42,
"norm_label": "get_approval_history()"
},
{
"label": "create_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L261",
+ "source_location": "L291",
"id": "bx_reimburse_create_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "create_reimburse()"
},
{
"label": "ReimburseApplyCreate",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L261",
+ "source_location": "L291",
"id": "reimburseapplycreate",
- "community": 30,
+ "community": 42,
"norm_label": "reimburseapplycreate"
},
{
"label": "update_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L295",
+ "source_location": "L325",
"id": "bx_reimburse_update_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "update_reimburse()"
},
{
"label": "ReimburseApplyUpdate",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L295",
+ "source_location": "L325",
"id": "reimburseapplyupdate",
- "community": 30,
+ "community": 42,
"norm_label": "reimburseapplyupdate"
},
{
"label": "submit_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L324",
+ "source_location": "L354",
"id": "bx_reimburse_submit_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "submit_reimburse()"
},
{
"label": "approve_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L339",
+ "source_location": "L369",
"id": "bx_reimburse_approve_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "approve_reimburse()"
},
{
"label": "ReimburseApprovalCreate",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L339",
+ "source_location": "L369",
"id": "reimburseapprovalcreate",
- "community": 30,
+ "community": 42,
"norm_label": "reimburseapprovalcreate"
},
{
"label": "reject_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L355",
+ "source_location": "L385",
"id": "bx_reimburse_reject_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "reject_reimburse()"
},
{
"label": "delete_reimburse()",
"file_type": "code",
"source_file": "app/api/bx/reimburse.py",
- "source_location": "L371",
+ "source_location": "L401",
"id": "bx_reimburse_delete_reimburse",
- "community": 30,
+ "community": 42,
"norm_label": "delete_reimburse()"
},
{
@@ -27386,7 +27548,7 @@
"source_file": "app/api/bx/__init__.py",
"source_location": "L1",
"id": "app_api_bx_init_py",
- "community": 108,
+ "community": 124,
"norm_label": "__init__.py"
},
{
@@ -27395,7 +27557,7 @@
"source_file": "app/api/bx/__init__.py",
"source_location": "L17",
"id": "bx_init_bx_health",
- "community": 108,
+ "community": 124,
"norm_label": "bx_health()"
},
{
@@ -27404,7 +27566,7 @@
"source_file": "app/api/bx/__init__.py",
"source_location": "L1",
"id": "app_api_bx_init_py_bx_init_rationale_1",
- "community": 108,
+ "community": 124,
"norm_label": "\u62a5\u9500(bx)api \u8def\u7531\u805a\u5408 \u2014 rest \u98ce\u683c,\u534f\u8bae\u5bf9\u9f50 bx \u539f\u7cfb\u7edf\u3002"
},
{
@@ -27413,7 +27575,7 @@
"source_file": "app/api/bx/__init__.py",
"source_location": "L18",
"id": "bx_init_rationale_18",
- "community": 108,
+ "community": 124,
"norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002"
},
{
@@ -27627,7 +27789,7 @@
"label": "my_advances()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L77",
+ "source_location": "L81",
"id": "bx_advance_my_advances",
"community": 30,
"norm_label": "my_advances()"
@@ -27636,7 +27798,7 @@
"label": "my_advance_stats()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L114",
+ "source_location": "L122",
"id": "bx_advance_my_advance_stats",
"community": 30,
"norm_label": "my_advance_stats()"
@@ -27645,7 +27807,7 @@
"label": "advance_status_counts()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L124",
+ "source_location": "L132",
"id": "bx_advance_advance_status_counts",
"community": 30,
"norm_label": "advance_status_counts()"
@@ -27654,7 +27816,7 @@
"label": "pending_approval()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L133",
+ "source_location": "L141",
"id": "bx_advance_pending_approval",
"community": 30,
"norm_label": "pending_approval()"
@@ -27663,7 +27825,7 @@
"label": "advance_pending_approval_stats()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L159",
+ "source_location": "L171",
"id": "bx_advance_advance_pending_approval_stats",
"community": 30,
"norm_label": "advance_pending_approval_stats()"
@@ -27672,7 +27834,7 @@
"label": "approved_by_me()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L169",
+ "source_location": "L181",
"id": "bx_advance_approved_by_me",
"community": 30,
"norm_label": "approved_by_me()"
@@ -27681,7 +27843,7 @@
"label": "get_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L195",
+ "source_location": "L211",
"id": "bx_advance_get_advance",
"community": 30,
"norm_label": "get_advance()"
@@ -27690,7 +27852,7 @@
"label": "get_approvals()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L211",
+ "source_location": "L227",
"id": "bx_advance_get_approvals",
"community": 30,
"norm_label": "get_approvals()"
@@ -27699,7 +27861,7 @@
"label": "get_approval_history()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L224",
+ "source_location": "L240",
"id": "bx_advance_get_approval_history",
"community": 30,
"norm_label": "get_approval_history()"
@@ -27708,7 +27870,7 @@
"label": "create_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L237",
+ "source_location": "L253",
"id": "bx_advance_create_advance",
"community": 30,
"norm_label": "create_advance()"
@@ -27717,7 +27879,7 @@
"label": "AdvanceApplyCreate",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L237",
+ "source_location": "L253",
"id": "advanceapplycreate",
"community": 30,
"norm_label": "advanceapplycreate"
@@ -27726,7 +27888,7 @@
"label": "update_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L270",
+ "source_location": "L286",
"id": "bx_advance_update_advance",
"community": 30,
"norm_label": "update_advance()"
@@ -27735,7 +27897,7 @@
"label": "AdvanceApplyUpdate",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L270",
+ "source_location": "L286",
"id": "advanceapplyupdate",
"community": 30,
"norm_label": "advanceapplyupdate"
@@ -27744,7 +27906,7 @@
"label": "submit_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L291",
+ "source_location": "L307",
"id": "bx_advance_submit_advance",
"community": 30,
"norm_label": "submit_advance()"
@@ -27753,7 +27915,7 @@
"label": "approve_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L305",
+ "source_location": "L321",
"id": "bx_advance_approve_advance",
"community": 30,
"norm_label": "approve_advance()"
@@ -27762,7 +27924,7 @@
"label": "AdvanceApprovalCreate",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L305",
+ "source_location": "L321",
"id": "advanceapprovalcreate",
"community": 30,
"norm_label": "advanceapprovalcreate"
@@ -27771,7 +27933,7 @@
"label": "reject_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L320",
+ "source_location": "L336",
"id": "bx_advance_reject_advance",
"community": 30,
"norm_label": "reject_advance()"
@@ -27780,7 +27942,7 @@
"label": "delete_advance()",
"file_type": "code",
"source_file": "app/api/bx/advance.py",
- "source_location": "L335",
+ "source_location": "L351",
"id": "bx_advance_delete_advance",
"community": 30,
"norm_label": "delete_advance()"
@@ -27791,7 +27953,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L1",
"id": "app_api_bx_workflow_py",
- "community": 30,
+ "community": 59,
"norm_label": "workflow.py"
},
{
@@ -27800,7 +27962,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L22",
"id": "bx_workflow_list_workflows",
- "community": 30,
+ "community": 59,
"norm_label": "list_workflows()"
},
{
@@ -27809,7 +27971,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L22",
"id": "app_api_bx_workflow_py_int",
- "community": 30,
+ "community": 59,
"norm_label": "int"
},
{
@@ -27818,7 +27980,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L22",
"id": "app_api_bx_workflow_py_session",
- "community": 30,
+ "community": 59,
"norm_label": "session"
},
{
@@ -27827,7 +27989,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L22",
"id": "app_api_bx_workflow_py_bxusercontext",
- "community": 30,
+ "community": 59,
"norm_label": "bxusercontext"
},
{
@@ -27836,7 +27998,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L36",
"id": "bx_workflow_get_workflow_by_biz_type",
- "community": 30,
+ "community": 59,
"norm_label": "get_workflow_by_biz_type()"
},
{
@@ -27845,7 +28007,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L36",
"id": "app_api_bx_workflow_py_str",
- "community": 30,
+ "community": 59,
"norm_label": "str"
},
{
@@ -27854,7 +28016,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L48",
"id": "bx_workflow_get_workflow",
- "community": 30,
+ "community": 59,
"norm_label": "get_workflow()"
},
{
@@ -27863,7 +28025,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L61",
"id": "bx_workflow_create_workflow",
- "community": 30,
+ "community": 59,
"norm_label": "create_workflow()"
},
{
@@ -27872,7 +28034,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L61",
"id": "workflowdefcreate",
- "community": 30,
+ "community": 59,
"norm_label": "workflowdefcreate"
},
{
@@ -27881,7 +28043,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L77",
"id": "bx_workflow_update_workflow",
- "community": 30,
+ "community": 59,
"norm_label": "update_workflow()"
},
{
@@ -27890,7 +28052,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L77",
"id": "workflowdefupdate",
- "community": 30,
+ "community": 59,
"norm_label": "workflowdefupdate"
},
{
@@ -27899,7 +28061,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L97",
"id": "bx_workflow_save_workflow_nodes",
- "community": 30,
+ "community": 59,
"norm_label": "save_workflow_nodes()"
},
{
@@ -27908,7 +28070,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L97",
"id": "workflownodecreate",
- "community": 30,
+ "community": 59,
"norm_label": "workflownodecreate"
},
{
@@ -27917,7 +28079,7 @@
"source_file": "app/api/bx/workflow.py",
"source_location": "L119",
"id": "bx_workflow_delete_workflow",
- "community": 30,
+ "community": 59,
"norm_label": "delete_workflow()"
},
{
@@ -28005,7 +28167,7 @@
"label": "payment_finance_stats()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L81",
+ "source_location": "L85",
"id": "bx_payment_payment_finance_stats",
"community": 38,
"norm_label": "payment_finance_stats()"
@@ -28014,7 +28176,7 @@
"label": "list_processed_payments()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L91",
+ "source_location": "L95",
"id": "bx_payment_list_processed_payments",
"community": 38,
"norm_label": "list_processed_payments()"
@@ -28023,7 +28185,7 @@
"label": "pay()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L124",
+ "source_location": "L132",
"id": "bx_payment_pay",
"community": 38,
"norm_label": "pay()"
@@ -28032,7 +28194,7 @@
"label": "PayRequest",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L124",
+ "source_location": "L132",
"id": "payrequest",
"community": 38,
"norm_label": "payrequest"
@@ -28041,7 +28203,7 @@
"label": "offset()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L144",
+ "source_location": "L152",
"id": "bx_payment_offset",
"community": 38,
"norm_label": "offset()"
@@ -28050,7 +28212,7 @@
"label": "OffsetRequest",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L144",
+ "source_location": "L152",
"id": "offsetrequest",
"community": 38,
"norm_label": "offsetrequest"
@@ -28059,7 +28221,7 @@
"label": "batch_offset()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L167",
+ "source_location": "L175",
"id": "bx_payment_batch_offset",
"community": 38,
"norm_label": "batch_offset()"
@@ -28068,7 +28230,7 @@
"label": "BatchOffsetRequest",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L167",
+ "source_location": "L175",
"id": "batchoffsetrequest",
"community": 38,
"norm_label": "batchoffsetrequest"
@@ -28077,7 +28239,7 @@
"label": "list_advance_issues()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L190",
+ "source_location": "L198",
"id": "bx_payment_list_advance_issues",
"community": 38,
"norm_label": "list_advance_issues()"
@@ -28086,7 +28248,7 @@
"label": "advance_issue_stats()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L233",
+ "source_location": "L245",
"id": "bx_payment_advance_issue_stats",
"community": 38,
"norm_label": "advance_issue_stats()"
@@ -28095,7 +28257,7 @@
"label": "export_advance_issues()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L243",
+ "source_location": "L255",
"id": "bx_payment_export_advance_issues",
"community": 38,
"norm_label": "export_advance_issues()"
@@ -28104,7 +28266,7 @@
"label": "issue_advance()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L319",
+ "source_location": "L335",
"id": "bx_payment_issue_advance",
"community": 38,
"norm_label": "issue_advance()"
@@ -28113,7 +28275,7 @@
"label": "AdvanceIssueRequest",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L319",
+ "source_location": "L335",
"id": "advanceissuerequest",
"community": 38,
"norm_label": "advanceissuerequest"
@@ -28122,7 +28284,7 @@
"label": "list_advance_offset_records()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L343",
+ "source_location": "L359",
"id": "bx_payment_list_advance_offset_records",
"community": 38,
"norm_label": "list_advance_offset_records()"
@@ -28131,7 +28293,7 @@
"label": "list_reimburse_offset_records()",
"file_type": "code",
"source_file": "app/api/bx/payment.py",
- "source_location": "L383",
+ "source_location": "L399",
"id": "bx_payment_list_reimburse_offset_records",
"community": 38,
"norm_label": "list_reimburse_offset_records()"
@@ -28142,7 +28304,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L1",
"id": "app_api_db_public_inventory_py",
- "community": 112,
+ "community": 22,
"norm_label": "public_inventory.py"
},
{
@@ -28151,7 +28313,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L28",
"id": "db_public_inventory_parse_feedback_images",
- "community": 112,
+ "community": 22,
"norm_label": "_parse_feedback_images()"
},
{
@@ -28160,7 +28322,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L28",
"id": "app_api_db_public_inventory_py_str",
- "community": 112,
+ "community": 22,
"norm_label": "str"
},
{
@@ -28169,7 +28331,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L40",
"id": "db_public_inventory_get_inventory_by_token",
- "community": 112,
+ "community": 22,
"norm_label": "_get_inventory_by_token()"
},
{
@@ -28178,7 +28340,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L40",
"id": "app_api_db_public_inventory_py_session",
- "community": 112,
+ "community": 22,
"norm_label": "session"
},
{
@@ -28196,7 +28358,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L54",
"id": "db_public_inventory_resolve_plan_voided",
- "community": 112,
+ "community": 22,
"norm_label": "_resolve_plan_voided()"
},
{
@@ -28223,7 +28385,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L77",
"id": "db_public_inventory_build_public_page",
- "community": 112,
+ "community": 22,
"norm_label": "_build_public_page()"
},
{
@@ -28241,7 +28403,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L101",
"id": "db_public_inventory_get_public_inventory",
- "community": 112,
+ "community": 22,
"norm_label": "get_public_inventory()"
},
{
@@ -28250,7 +28412,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L108",
"id": "db_public_inventory_save_public_feedback",
- "community": 112,
+ "community": 22,
"norm_label": "save_public_feedback()"
},
{
@@ -28268,7 +28430,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L131",
"id": "db_public_inventory_format_file_size",
- "community": 112,
+ "community": 22,
"norm_label": "_format_file_size()"
},
{
@@ -28286,7 +28448,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L140",
"id": "db_public_inventory_upload_public_attachment",
- "community": 112,
+ "community": 22,
"norm_label": "upload_public_attachment()"
},
{
@@ -28304,7 +28466,7 @@
"source_file": "app/api/db/public_inventory.py",
"source_location": "L1",
"id": "db_public_inventory_rationale_1",
- "community": 112,
+ "community": 22,
"norm_label": "\u5730\u78c5\u51fa\u5165\u5e93\u5355 \u00b7 \u5de5\u5382\u73b0\u573a\u4eba\u5458\u514d\u767b\u5f55\u516c\u5171 api"
},
{
@@ -28502,7 +28664,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L1",
"id": "app_api_db_weighing_py",
- "community": 71,
+ "community": 23,
"norm_label": "weighing.py"
},
{
@@ -28511,7 +28673,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L40",
"id": "db_weighing_base_query",
- "community": 71,
+ "community": 23,
"norm_label": "_base_query()"
},
{
@@ -28520,7 +28682,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L40",
"id": "app_api_db_weighing_py_session",
- "community": 71,
+ "community": 23,
"norm_label": "session"
},
{
@@ -28529,7 +28691,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L40",
"id": "app_api_db_weighing_py_str",
- "community": 71,
+ "community": 23,
"norm_label": "str"
},
{
@@ -28538,7 +28700,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L48",
"id": "db_weighing_get_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "_get_weighing()"
},
{
@@ -28547,7 +28709,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L48",
"id": "app_api_db_weighing_py_dbusercontext",
- "community": 71,
+ "community": 23,
"norm_label": "dbusercontext"
},
{
@@ -28556,7 +28718,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L48",
"id": "app_api_db_weighing_py_dbweighingslip",
- "community": 71,
+ "community": 23,
"norm_label": "dbweighingslip"
},
{
@@ -28565,7 +28727,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L69",
"id": "db_weighing_apply_weighing_product_update",
- "community": 71,
+ "community": 23,
"norm_label": "_apply_weighing_product_update()"
},
{
@@ -28574,7 +28736,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L85",
"id": "db_weighing_apply_weighing_update",
- "community": 71,
+ "community": 23,
"norm_label": "_apply_weighing_update()"
},
{
@@ -28583,7 +28745,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L107",
"id": "db_weighing_list_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "list_weighing()"
},
{
@@ -28592,7 +28754,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L107",
"id": "app_api_db_weighing_py_weighingslipread",
- "community": 39,
+ "community": 23,
"norm_label": "weighingslipread"
},
{
@@ -28601,7 +28763,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L196",
"id": "db_weighing_create_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "create_weighing()"
},
{
@@ -28610,7 +28772,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L196",
"id": "weighingslipcreate",
- "community": 71,
+ "community": 23,
"norm_label": "weighingslipcreate"
},
{
@@ -28619,7 +28781,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L308",
"id": "db_weighing_update_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "update_weighing()"
},
{
@@ -28628,7 +28790,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L308",
"id": "weighingslipupdate",
- "community": 71,
+ "community": 23,
"norm_label": "weighingslipupdate"
},
{
@@ -28637,7 +28799,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L336",
"id": "db_weighing_void_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "void_weighing()"
},
{
@@ -28646,7 +28808,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L357",
"id": "db_weighing_delete_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "delete_weighing()"
},
{
@@ -28655,7 +28817,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L371",
"id": "db_weighing_weighingrelateddata",
- "community": 71,
+ "community": 23,
"norm_label": "weighingrelateddata"
},
{
@@ -28664,7 +28826,7 @@
"source_file": "app/api/db/weighing.py",
"source_location": "L377",
"id": "db_weighing_get_weighing_related",
- "community": 71,
+ "community": 23,
"norm_label": "get_weighing_related()"
},
{
@@ -28673,7 +28835,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L1",
"id": "app_api_db_plans_py",
- "community": 23,
+ "community": 127,
"norm_label": "plans.py"
},
{
@@ -28682,7 +28844,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L46",
"id": "db_plans_base_query",
- "community": 23,
+ "community": 127,
"norm_label": "_base_query()"
},
{
@@ -28691,7 +28853,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L46",
"id": "app_api_db_plans_py_session",
- "community": 23,
+ "community": 127,
"norm_label": "session"
},
{
@@ -28700,7 +28862,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L46",
"id": "app_api_db_plans_py_str",
- "community": 23,
+ "community": 127,
"norm_label": "str"
},
{
@@ -28709,7 +28871,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L54",
"id": "db_plans_list_plans",
- "community": 23,
+ "community": 127,
"norm_label": "list_plans()"
},
{
@@ -28718,7 +28880,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L54",
"id": "app_api_db_plans_py_dbusercontext",
- "community": 23,
+ "community": 127,
"norm_label": "dbusercontext"
},
{
@@ -28727,7 +28889,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L54",
"id": "app_api_db_plans_py_purchaseplanwithfilllink",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanwithfilllink"
},
{
@@ -28736,7 +28898,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L192",
"id": "db_plans_generate_plan_no",
- "community": 23,
+ "community": 127,
"norm_label": "_generate_plan_no()"
},
{
@@ -28745,7 +28907,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L199",
"id": "db_plans_create_plan",
- "community": 23,
+ "community": 127,
"norm_label": "create_plan()"
},
{
@@ -28754,7 +28916,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L199",
"id": "purchaseplancreate",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplancreate"
},
{
@@ -28763,7 +28925,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L199",
"id": "app_api_db_plans_py_purchaseplanread",
- "community": 39,
+ "community": 127,
"norm_label": "purchaseplanread"
},
{
@@ -28772,7 +28934,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L242",
"id": "db_plans_autogeneratemonthlyresult",
- "community": 23,
+ "community": 127,
"norm_label": "autogeneratemonthlyresult"
},
{
@@ -28781,7 +28943,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L249",
"id": "db_plans_run_auto_generate_monthly",
- "community": 23,
+ "community": 127,
"norm_label": "run_auto_generate_monthly()"
},
{
@@ -28790,7 +28952,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L249",
"id": "app_api_db_plans_py_bool",
- "community": 23,
+ "community": 127,
"norm_label": "bool"
},
{
@@ -28799,7 +28961,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L263",
"id": "db_plans_get_plan",
- "community": 23,
+ "community": 127,
"norm_label": "get_plan()"
},
{
@@ -28808,7 +28970,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L274",
"id": "db_plans_update_plan",
- "community": 23,
+ "community": 127,
"norm_label": "update_plan()"
},
{
@@ -28817,7 +28979,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L274",
"id": "purchaseplanupdate",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanupdate"
},
{
@@ -28826,7 +28988,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L292",
"id": "db_plans_delete_plan",
- "community": 23,
+ "community": 127,
"norm_label": "delete_plan()"
},
{
@@ -28835,7 +28997,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L312",
"id": "app_api_db_plans_py_dbpurchaseplan",
- "community": 23,
+ "community": 127,
"norm_label": "dbpurchaseplan"
},
{
@@ -28844,7 +29006,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L329",
"id": "db_plans_get_plan_by_id_only",
- "community": 23,
+ "community": 127,
"norm_label": "_get_plan_by_id_only()"
},
{
@@ -28853,7 +29015,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L343",
"id": "db_plans_apply_plan_product_update",
- "community": 23,
+ "community": 127,
"norm_label": "_apply_plan_product_update()"
},
{
@@ -28862,7 +29024,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L359",
"id": "db_plans_apply_plan_update",
- "community": 23,
+ "community": 127,
"norm_label": "_apply_plan_update()"
},
{
@@ -28871,7 +29033,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L380",
"id": "db_plans_planrelateddata",
- "community": 23,
+ "community": 127,
"norm_label": "planrelateddata"
},
{
@@ -28880,7 +29042,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L386",
"id": "db_plans_get_plan_related",
- "community": 23,
+ "community": 127,
"norm_label": "get_plan_related()"
},
{
@@ -28889,7 +29051,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L427",
"id": "db_plans_thirdpartyplanpagedata",
- "community": 23,
+ "community": 127,
"norm_label": "thirdpartyplanpagedata"
},
{
@@ -28898,7 +29060,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L434",
"id": "db_plans_get_third_party_plan_page",
- "community": 23,
+ "community": 127,
"norm_label": "get_third_party_plan_page()"
},
{
@@ -28907,7 +29069,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L254",
"id": "db_plans_rationale_254",
- "community": 23,
+ "community": 127,
"norm_label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210(\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91)\u3002"
},
{
@@ -28916,7 +29078,7 @@
"source_file": "app/api/db/plans.py",
"source_location": "L438",
"id": "db_plans_rationale_438",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002"
},
{
@@ -29198,11 +29360,20 @@
"community": 0,
"norm_label": "str"
},
+ {
+ "label": "int",
+ "file_type": "code",
+ "source_file": "app/services/pl_vehicle_recharge_service.py",
+ "source_location": "L31",
+ "id": "app_services_pl_vehicle_recharge_service_py_int",
+ "community": 0,
+ "norm_label": "int"
+ },
{
"label": "generate_apply_no()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L43",
+ "source_location": "L45",
"id": "services_pl_vehicle_recharge_service_generate_apply_no",
"community": 0,
"norm_label": "generate_apply_no()"
@@ -29211,7 +29382,7 @@
"label": "generate_recharge_order_no()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L49",
+ "source_location": "L55",
"id": "services_pl_vehicle_recharge_service_generate_recharge_order_no",
"community": 0,
"norm_label": "generate_recharge_order_no()"
@@ -29220,7 +29391,7 @@
"label": "_resolve_user_name()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L58",
+ "source_location": "L64",
"id": "services_pl_vehicle_recharge_service_resolve_user_name",
"community": 0,
"norm_label": "_resolve_user_name()"
@@ -29229,7 +29400,7 @@
"label": "_assert_vehicle_exists()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L69",
+ "source_location": "L75",
"id": "services_pl_vehicle_recharge_service_assert_vehicle_exists",
"community": 0,
"norm_label": "_assert_vehicle_exists()"
@@ -29238,7 +29409,7 @@
"label": "_resolve_applicant_id()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L83",
+ "source_location": "L89",
"id": "services_pl_vehicle_recharge_service_resolve_applicant_id",
"community": 0,
"norm_label": "_resolve_applicant_id()"
@@ -29247,7 +29418,7 @@
"label": "DbUserContext",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L83",
+ "source_location": "L89",
"id": "app_services_pl_vehicle_recharge_service_py_dbusercontext",
"community": 0,
"norm_label": "dbusercontext"
@@ -29256,7 +29427,7 @@
"label": "_get_apply_row()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L105",
+ "source_location": "L111",
"id": "services_pl_vehicle_recharge_service_get_apply_row",
"community": 0,
"norm_label": "_get_apply_row()"
@@ -29265,7 +29436,7 @@
"label": "PlVehicleRechargeApply",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L105",
+ "source_location": "L111",
"id": "plvehiclerechargeapply",
"community": 0,
"norm_label": "plvehiclerechargeapply"
@@ -29274,7 +29445,7 @@
"label": "_get_record_row()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L123",
+ "source_location": "L129",
"id": "services_pl_vehicle_recharge_service_get_record_row",
"community": 0,
"norm_label": "_get_record_row()"
@@ -29283,7 +29454,7 @@
"label": "PlVehicleRechargeRecord",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L123",
+ "source_location": "L129",
"id": "plvehiclerechargerecord",
"community": 0,
"norm_label": "plvehiclerechargerecord"
@@ -29292,7 +29463,7 @@
"label": "_has_active_record()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L141",
+ "source_location": "L147",
"id": "services_pl_vehicle_recharge_service_has_active_record",
"community": 0,
"norm_label": "_has_active_record()"
@@ -29301,7 +29472,7 @@
"label": "bool",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L141",
+ "source_location": "L147",
"id": "app_services_pl_vehicle_recharge_service_py_bool",
"community": 0,
"norm_label": "bool"
@@ -29310,7 +29481,7 @@
"label": "apply_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L154",
+ "source_location": "L160",
"id": "services_pl_vehicle_recharge_service_apply_to_read",
"community": 0,
"norm_label": "apply_to_read()"
@@ -29319,7 +29490,7 @@
"label": "VehicleRechargeApplyRead",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L154",
+ "source_location": "L160",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargeapplyread",
"community": 0,
"norm_label": "vehiclerechargeapplyread"
@@ -29328,7 +29499,7 @@
"label": "record_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L172",
+ "source_location": "L178",
"id": "services_pl_vehicle_recharge_service_record_to_read",
"community": 0,
"norm_label": "record_to_read()"
@@ -29337,7 +29508,7 @@
"label": "VehicleRechargeRecordRead",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L172",
+ "source_location": "L178",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargerecordread",
"community": 0,
"norm_label": "vehiclerechargerecordread"
@@ -29346,7 +29517,7 @@
"label": "_resolve_apply_for_record()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L205",
+ "source_location": "L211",
"id": "services_pl_vehicle_recharge_service_resolve_apply_for_record",
"community": 0,
"norm_label": "_resolve_apply_for_record()"
@@ -29355,7 +29526,7 @@
"label": "VehicleRechargeRecordCreate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L205",
+ "source_location": "L211",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargerecordcreate",
"community": 0,
"norm_label": "vehiclerechargerecordcreate"
@@ -29364,7 +29535,7 @@
"label": "VehicleRechargeRecordUpdate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L205",
+ "source_location": "L211",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargerecordupdate",
"community": 0,
"norm_label": "vehiclerechargerecordupdate"
@@ -29373,7 +29544,7 @@
"label": "list_applies()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L241",
+ "source_location": "L247",
"id": "services_pl_vehicle_recharge_service_list_applies",
"community": 0,
"norm_label": "list_applies()"
@@ -29382,25 +29553,16 @@
"label": "date",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L241",
+ "source_location": "L247",
"id": "app_services_pl_vehicle_recharge_service_py_date",
"community": 0,
"norm_label": "date"
},
- {
- "label": "int",
- "file_type": "code",
- "source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L241",
- "id": "app_services_pl_vehicle_recharge_service_py_int",
- "community": 0,
- "norm_label": "int"
- },
{
"label": "get_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L288",
+ "source_location": "L294",
"id": "services_pl_vehicle_recharge_service_get_apply",
"community": 0,
"norm_label": "get_apply()"
@@ -29409,7 +29571,7 @@
"label": "create_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L295",
+ "source_location": "L301",
"id": "services_pl_vehicle_recharge_service_create_apply",
"community": 0,
"norm_label": "create_apply()"
@@ -29418,7 +29580,7 @@
"label": "VehicleRechargeApplyCreate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L295",
+ "source_location": "L301",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargeapplycreate",
"community": 0,
"norm_label": "vehiclerechargeapplycreate"
@@ -29427,7 +29589,7 @@
"label": "update_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L330",
+ "source_location": "L336",
"id": "services_pl_vehicle_recharge_service_update_apply",
"community": 0,
"norm_label": "update_apply()"
@@ -29436,7 +29598,7 @@
"label": "VehicleRechargeApplyUpdate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L330",
+ "source_location": "L336",
"id": "app_services_pl_vehicle_recharge_service_py_vehiclerechargeapplyupdate",
"community": 0,
"norm_label": "vehiclerechargeapplyupdate"
@@ -29445,7 +29607,7 @@
"label": "cancel_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L356",
+ "source_location": "L362",
"id": "services_pl_vehicle_recharge_service_cancel_apply",
"community": 0,
"norm_label": "cancel_apply()"
@@ -29454,7 +29616,7 @@
"label": "delete_applies()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L370",
+ "source_location": "L376",
"id": "services_pl_vehicle_recharge_service_delete_applies",
"community": 0,
"norm_label": "delete_applies()"
@@ -29463,7 +29625,7 @@
"label": "list_pending_apply_options()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L385",
+ "source_location": "L391",
"id": "services_pl_vehicle_recharge_service_list_pending_apply_options",
"community": 0,
"norm_label": "list_pending_apply_options()"
@@ -29472,7 +29634,7 @@
"label": "list_records()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L406",
+ "source_location": "L412",
"id": "services_pl_vehicle_recharge_service_list_records",
"community": 0,
"norm_label": "list_records()"
@@ -29481,7 +29643,7 @@
"label": "board_item_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L459",
+ "source_location": "L465",
"id": "services_pl_vehicle_recharge_service_board_item_to_read",
"community": 0,
"norm_label": "board_item_to_read()"
@@ -29490,7 +29652,7 @@
"label": "VehicleRechargeDisburseBoardItem",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L459",
+ "source_location": "L465",
"id": "vehiclerechargedisburseboarditem",
"community": 0,
"norm_label": "vehiclerechargedisburseboarditem"
@@ -29499,7 +29661,7 @@
"label": "list_disburse_board()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L485",
+ "source_location": "L491",
"id": "services_pl_vehicle_recharge_service_list_disburse_board",
"community": 0,
"norm_label": "list_disburse_board()"
@@ -29508,7 +29670,7 @@
"label": "get_record()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L548",
+ "source_location": "L554",
"id": "services_pl_vehicle_recharge_service_get_record",
"community": 0,
"norm_label": "get_record()"
@@ -29517,7 +29679,7 @@
"label": "create_record()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L555",
+ "source_location": "L561",
"id": "services_pl_vehicle_recharge_service_create_record",
"community": 0,
"norm_label": "create_record()"
@@ -29526,7 +29688,7 @@
"label": "update_record()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L595",
+ "source_location": "L601",
"id": "services_pl_vehicle_recharge_service_update_record",
"community": 0,
"norm_label": "update_record()"
@@ -29535,7 +29697,7 @@
"label": "delete_records()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L646",
+ "source_location": "L652",
"id": "services_pl_vehicle_recharge_service_delete_records",
"community": 0,
"norm_label": "delete_records()"
@@ -29546,7 +29708,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L1",
"id": "app_services_workflow_callback_py",
- "community": 137,
+ "community": 104,
"norm_label": "workflow_callback.py"
},
{
@@ -29555,7 +29717,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L23",
"id": "services_workflow_callback_register_local_callback",
- "community": 137,
+ "community": 104,
"norm_label": "register_local_callback()"
},
{
@@ -29564,7 +29726,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L23",
"id": "app_services_workflow_callback_py_str",
- "community": 137,
+ "community": 104,
"norm_label": "str"
},
{
@@ -29573,7 +29735,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L23",
"id": "localcallbackfn",
- "community": 137,
+ "community": 104,
"norm_label": "_localcallbackfn"
},
{
@@ -29582,7 +29744,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L28",
"id": "services_workflow_callback_dispatch_local",
- "community": 137,
+ "community": 104,
"norm_label": "_dispatch_local()"
},
{
@@ -29591,7 +29753,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L28",
"id": "app_services_workflow_callback_py_any",
- "community": 137,
+ "community": 104,
"norm_label": "any"
},
{
@@ -29600,7 +29762,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L28",
"id": "app_services_workflow_callback_py_wfprocessinstance",
- "community": 137,
+ "community": 104,
"norm_label": "wfprocessinstance"
},
{
@@ -29609,7 +29771,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L28",
"id": "app_services_workflow_callback_py_bool",
- "community": 137,
+ "community": 104,
"norm_label": "bool"
},
{
@@ -29618,7 +29780,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L60",
"id": "services_workflow_callback_trigger_callback",
- "community": 137,
+ "community": 104,
"norm_label": "trigger_callback()"
},
{
@@ -29627,7 +29789,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L1",
"id": "services_workflow_callback_rationale_1",
- "community": 137,
+ "community": 104,
"norm_label": "\u5de5\u4f5c\u6d41\u56de\u8c03\u670d\u52a1 \u2014\u2014 \u6d41\u7a0b\u72b6\u6001\u53d8\u66f4\u65f6\u901a\u77e5\u4e1a\u52a1\u7cfb\u7edf"
},
{
@@ -29636,7 +29798,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L24",
"id": "services_workflow_callback_rationale_24",
- "community": 137,
+ "community": 104,
"norm_label": "\u6ce8\u518c\u672c\u5730\u56de\u8c03\u51fd\u6570\u3002\u5f53 callback_url \u4ee5 path \u5f00\u5934\u65f6\u76f4\u63a5\u8c03\u7528 fn\u3002"
},
{
@@ -29645,7 +29807,7 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L29",
"id": "services_workflow_callback_rationale_29",
- "community": 137,
+ "community": 104,
"norm_label": "\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03\u3002\u8fd4\u56de true \u8868\u793a\u5df2\u5904\u7406,false \u8868\u793a\u65e0\u5339\u914d\u7684\u672c\u5730\u56de\u8c03\u3002"
},
{
@@ -29654,9 +29816,108 @@
"source_file": "app/services/workflow_callback.py",
"source_location": "L61",
"id": "services_workflow_callback_rationale_61",
- "community": 137,
+ "community": 104,
"norm_label": "\u6d41\u7a0b\u5b9e\u4f8b\u72b6\u6001\u53d8\u66f4\u540e,\u5411\u4e1a\u52a1\u7cfb\u7edf\u53d1\u9001\u56de\u8c03\u901a\u77e5\u3002 \u4f18\u5148\u7ea7: 1. \u5982\u679c callback_url \u662f\u5185\u90e8\u8def\u5f84(\u4ee5 / \u5f00\u5934),\u4f18\u5148\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03"
},
+ {
+ "label": "pl_menu_badge_service.py",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L1",
+ "id": "app_services_pl_menu_badge_service_py",
+ "community": 9,
+ "norm_label": "pl_menu_badge_service.py"
+ },
+ {
+ "label": "_count_pending_applies()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "id": "services_pl_menu_badge_service_count_pending_applies",
+ "community": 9,
+ "norm_label": "_count_pending_applies()"
+ },
+ {
+ "label": "Session",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "id": "app_services_pl_menu_badge_service_py_session",
+ "community": 9,
+ "norm_label": "session"
+ },
+ {
+ "label": "str",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "id": "app_services_pl_menu_badge_service_py_str",
+ "community": 9,
+ "norm_label": "str"
+ },
+ {
+ "label": "int",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "id": "app_services_pl_menu_badge_service_py_int",
+ "community": 9,
+ "norm_label": "int"
+ },
+ {
+ "label": "count_document_reminder_expired_pending()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L54",
+ "id": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "community": 9,
+ "norm_label": "count_document_reminder_expired_pending()"
+ },
+ {
+ "label": "count_freight_approval_pending()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L67",
+ "id": "services_pl_menu_badge_service_count_freight_approval_pending",
+ "community": 9,
+ "norm_label": "count_freight_approval_pending()"
+ },
+ {
+ "label": "count_plan_cert_pending()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L86",
+ "id": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "community": 9,
+ "norm_label": "count_plan_cert_pending()"
+ },
+ {
+ "label": "count_plan_archive_pending()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L120",
+ "id": "services_pl_menu_badge_service_count_plan_archive_pending",
+ "community": 9,
+ "norm_label": "count_plan_archive_pending()"
+ },
+ {
+ "label": "count_freight_disburse_pending()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L131",
+ "id": "services_pl_menu_badge_service_count_freight_disburse_pending",
+ "community": 9,
+ "norm_label": "count_freight_disburse_pending()"
+ },
+ {
+ "label": "build_menu_badge_counts()",
+ "file_type": "code",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L141",
+ "id": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "community": 9,
+ "norm_label": "build_menu_badge_counts()"
+ },
{
"label": "pl_plan_service.py",
"file_type": "code",
@@ -29670,7 +29931,7 @@
"label": "determine_plan_type()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L38",
+ "source_location": "L42",
"id": "services_pl_plan_service_determine_plan_type",
"community": 10,
"norm_label": "determine_plan_type()"
@@ -29679,7 +29940,7 @@
"label": "str",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L38",
+ "source_location": "L42",
"id": "app_services_pl_plan_service_py_str",
"community": 10,
"norm_label": "str"
@@ -29688,7 +29949,7 @@
"label": "is_ton_product_unit()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L46",
+ "source_location": "L50",
"id": "services_pl_plan_service_is_ton_product_unit",
"community": 10,
"norm_label": "is_ton_product_unit()"
@@ -29697,7 +29958,7 @@
"label": "bool",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L46",
+ "source_location": "L50",
"id": "app_services_pl_plan_service_py_bool",
"community": 10,
"norm_label": "bool"
@@ -29706,7 +29967,7 @@
"label": "_product_quantity()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L53",
+ "source_location": "L57",
"id": "services_pl_plan_service_product_quantity",
"community": 10,
"norm_label": "_product_quantity()"
@@ -29715,7 +29976,7 @@
"label": "PlanProductCreate",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L53",
+ "source_location": "L57",
"id": "planproductcreate",
"community": 10,
"norm_label": "planproductcreate"
@@ -29724,7 +29985,7 @@
"label": "Decimal",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L53",
+ "source_location": "L57",
"id": "app_services_pl_plan_service_py_decimal",
"community": 10,
"norm_label": "decimal"
@@ -29733,7 +29994,7 @@
"label": "_product_create_actual_qty()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L63",
+ "source_location": "L67",
"id": "services_pl_plan_service_product_create_actual_qty",
"community": 10,
"norm_label": "_product_create_actual_qty()"
@@ -29742,7 +30003,7 @@
"label": "_plan_product_actual_qty()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L69",
+ "source_location": "L73",
"id": "services_pl_plan_service_plan_product_actual_qty",
"community": 10,
"norm_label": "_plan_product_actual_qty()"
@@ -29751,7 +30012,7 @@
"label": "PlPlanProduct",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L69",
+ "source_location": "L73",
"id": "app_services_pl_plan_service_py_plplanproduct",
"community": 10,
"norm_label": "plplanproduct"
@@ -29760,7 +30021,7 @@
"label": "sum_product_actual_quantities()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L75",
+ "source_location": "L79",
"id": "services_pl_plan_service_sum_product_actual_quantities",
"community": 10,
"norm_label": "sum_product_actual_quantities()"
@@ -29769,7 +30030,7 @@
"label": "sum_plan_product_actual_quantities()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L79",
+ "source_location": "L83",
"id": "services_pl_plan_service_sum_plan_product_actual_quantities",
"community": 10,
"norm_label": "sum_plan_product_actual_quantities()"
@@ -29778,7 +30039,7 @@
"label": "_estimate_qty_fields()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L83",
+ "source_location": "L87",
"id": "services_pl_plan_service_estimate_qty_fields",
"community": 10,
"norm_label": "_estimate_qty_fields()"
@@ -29787,7 +30048,7 @@
"label": "build_plan_product()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L94",
+ "source_location": "L98",
"id": "services_pl_plan_service_build_plan_product",
"community": 10,
"norm_label": "build_plan_product()"
@@ -29796,7 +30057,7 @@
"label": "int",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L94",
+ "source_location": "L98",
"id": "app_services_pl_plan_service_py_int",
"community": 10,
"norm_label": "int"
@@ -29805,7 +30066,7 @@
"label": "_apply_vehicle_snapshot_to_plan_transport()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L141",
+ "source_location": "L145",
"id": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport",
"community": 10,
"norm_label": "_apply_vehicle_snapshot_to_plan_transport()"
@@ -29814,7 +30075,7 @@
"label": "Session",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L141",
+ "source_location": "L145",
"id": "app_services_pl_plan_service_py_session",
"community": 10,
"norm_label": "session"
@@ -29823,7 +30084,7 @@
"label": "PlPlan",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L141",
+ "source_location": "L145",
"id": "app_services_pl_plan_service_py_plplan",
"community": 10,
"norm_label": "plplan"
@@ -29832,7 +30093,7 @@
"label": "PlTransport",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L141",
+ "source_location": "L145",
"id": "app_services_pl_plan_service_py_pltransport",
"community": 10,
"norm_label": "pltransport"
@@ -29841,7 +30102,7 @@
"label": "PlVehicle",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L141",
+ "source_location": "L145",
"id": "app_services_pl_plan_service_py_plvehicle",
"community": 10,
"norm_label": "plvehicle"
@@ -29850,7 +30111,7 @@
"label": "_resolve_driver()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L159",
+ "source_location": "L163",
"id": "services_pl_plan_service_resolve_driver",
"community": 10,
"norm_label": "_resolve_driver()"
@@ -29859,7 +30120,7 @@
"label": "_calc_freight_amount()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L204",
+ "source_location": "L208",
"id": "services_pl_plan_service_calc_freight_amount",
"community": 10,
"norm_label": "_calc_freight_amount()"
@@ -29868,7 +30129,7 @@
"label": "fetch_hazard_flags_map()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L225",
+ "source_location": "L229",
"id": "services_pl_plan_service_fetch_hazard_flags_map",
"community": 10,
"norm_label": "fetch_hazard_flags_map()"
@@ -29877,7 +30138,7 @@
"label": "resolve_hazard_flags_from_crm()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L251",
+ "source_location": "L255",
"id": "services_pl_plan_service_resolve_hazard_flags_from_crm",
"community": 10,
"norm_label": "resolve_hazard_flags_from_crm()"
@@ -29886,7 +30147,7 @@
"label": "plan_has_hazard_products()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L279",
+ "source_location": "L283",
"id": "services_pl_plan_service_plan_has_hazard_products",
"community": 10,
"norm_label": "plan_has_hazard_products()"
@@ -29895,7 +30156,7 @@
"label": "collect_hazard_product_ids()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L287",
+ "source_location": "L291",
"id": "services_pl_plan_service_collect_hazard_product_ids",
"community": 10,
"norm_label": "collect_hazard_product_ids()"
@@ -29904,7 +30165,7 @@
"label": "clear_hazard_cert_ready()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L312",
+ "source_location": "L316",
"id": "services_pl_plan_service_clear_hazard_cert_ready",
"community": 10,
"norm_label": "clear_hazard_cert_ready()"
@@ -29913,7 +30174,7 @@
"label": "validate_hazard_cert_ready_for_transport()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L318",
+ "source_location": "L322",
"id": "services_pl_plan_service_validate_hazard_cert_ready_for_transport",
"community": 10,
"norm_label": "validate_hazard_cert_ready_for_transport()"
@@ -29922,7 +30183,7 @@
"label": "set_hazard_cert_ready()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L333",
+ "source_location": "L337",
"id": "services_pl_plan_service_set_hazard_cert_ready",
"community": 10,
"norm_label": "set_hazard_cert_ready()"
@@ -29931,7 +30192,7 @@
"label": "update_plan_product_certs()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L383",
+ "source_location": "L387",
"id": "services_pl_plan_service_update_plan_product_certs",
"community": 10,
"norm_label": "update_plan_product_certs()"
@@ -29940,7 +30201,7 @@
"label": "_generate_transport_no()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L452",
+ "source_location": "L456",
"id": "services_pl_plan_service_generate_transport_no",
"community": 10,
"norm_label": "_generate_transport_no()"
@@ -29949,7 +30210,7 @@
"label": "_resolve_transport_context()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L470",
+ "source_location": "L474",
"id": "services_pl_plan_service_resolve_transport_context",
"community": 10,
"norm_label": "_resolve_transport_context()"
@@ -29958,7 +30219,7 @@
"label": "PlanTransportCreateBlock",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L470",
+ "source_location": "L474",
"id": "plantransportcreateblock",
"community": 10,
"norm_label": "plantransportcreateblock"
@@ -29967,7 +30228,7 @@
"label": "_apply_payload_to_transport_row()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L527",
+ "source_location": "L531",
"id": "services_pl_plan_service_apply_payload_to_transport_row",
"community": 10,
"norm_label": "_apply_payload_to_transport_row()"
@@ -29976,7 +30237,7 @@
"label": "upsert_draft_transport_for_plan()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L564",
+ "source_location": "L568",
"id": "services_pl_plan_service_upsert_draft_transport_for_plan",
"community": 10,
"norm_label": "upsert_draft_transport_for_plan()"
@@ -29985,7 +30246,7 @@
"label": "clear_draft_transport_for_plan()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L687",
+ "source_location": "L691",
"id": "services_pl_plan_service_clear_draft_transport_for_plan",
"community": 10,
"norm_label": "clear_draft_transport_for_plan()"
@@ -29994,7 +30255,7 @@
"label": "sync_transport_prefill_for_plan()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L728",
+ "source_location": "L732",
"id": "services_pl_plan_service_sync_transport_prefill_for_plan",
"community": 10,
"norm_label": "sync_transport_prefill_for_plan()"
@@ -30003,7 +30264,7 @@
"label": "apply_vehicle_prefill_to_plan()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L750",
+ "source_location": "L754",
"id": "services_pl_plan_service_apply_vehicle_prefill_to_plan",
"community": 10,
"norm_label": "apply_vehicle_prefill_to_plan()"
@@ -30012,16 +30273,25 @@
"label": "create_transport_for_plan()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L772",
+ "source_location": "L776",
"id": "services_pl_plan_service_create_transport_for_plan",
"community": 10,
"norm_label": "create_transport_for_plan()"
},
+ {
+ "label": "assert_contract_selectable_for_plan()",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L891",
+ "id": "services_pl_plan_service_assert_contract_selectable_for_plan",
+ "community": 10,
+ "norm_label": "assert_contract_selectable_for_plan()"
+ },
{
"label": "validate_create_full()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L884",
+ "source_location": "L913",
"id": "services_pl_plan_service_validate_create_full",
"community": 10,
"norm_label": "validate_create_full()"
@@ -30030,7 +30300,7 @@
"label": "PlanCreateFull",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L884",
+ "source_location": "L913",
"id": "app_services_pl_plan_service_py_plancreatefull",
"community": 10,
"norm_label": "plancreatefull"
@@ -30039,7 +30309,7 @@
"label": "calc_plan_total_amount()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L906",
+ "source_location": "L935",
"id": "services_pl_plan_service_calc_plan_total_amount",
"community": 10,
"norm_label": "calc_plan_total_amount()"
@@ -30048,7 +30318,7 @@
"label": "transport_has_locked_freight_settlement()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L917",
+ "source_location": "L946",
"id": "services_pl_plan_service_transport_has_locked_freight_settlement",
"community": 10,
"norm_label": "transport_has_locked_freight_settlement()"
@@ -30057,7 +30327,7 @@
"label": "apply_archive_product_quantities()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L941",
+ "source_location": "L970",
"id": "services_pl_plan_service_apply_archive_product_quantities",
"community": 10,
"norm_label": "apply_archive_product_quantities()"
@@ -30066,16 +30336,16 @@
"label": "PlanArchiveProductItem",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L941",
+ "source_location": "L970",
"id": "planarchiveproductitem",
- "community": 10,
+ "community": 15,
"norm_label": "planarchiveproductitem"
},
{
"label": "apply_archive_freight()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L976",
+ "source_location": "L1005",
"id": "services_pl_plan_service_apply_archive_freight",
"community": 10,
"norm_label": "apply_archive_freight()"
@@ -30084,26 +30354,71 @@
"label": "PlanArchiveFreightBlock",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L976",
+ "source_location": "L1005",
"id": "planarchivefreightblock",
- "community": 10,
+ "community": 15,
"norm_label": "planarchivefreightblock"
},
{
"label": "record_plan_change()",
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L1070",
+ "source_location": "L1099",
"id": "services_pl_plan_service_record_plan_change",
- "community": 10,
+ "community": 15,
"norm_label": "record_plan_change()"
},
+ {
+ "label": "apply_plan_driver_feedback()",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "id": "services_pl_plan_service_apply_plan_driver_feedback",
+ "community": 10,
+ "norm_label": "apply_plan_driver_feedback()"
+ },
+ {
+ "label": "PlanDriverFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "id": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "community": 10,
+ "norm_label": "plandriverfeedbackupdatebody"
+ },
+ {
+ "label": "apply_plan_site_feedback()",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "id": "services_pl_plan_service_apply_plan_site_feedback",
+ "community": 10,
+ "norm_label": "apply_plan_site_feedback()"
+ },
+ {
+ "label": "PlanSiteFeedbackUpdateBody",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "id": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "community": 10,
+ "norm_label": "plansitefeedbackupdatebody"
+ },
+ {
+ "label": "PlTransportSiteLink",
+ "file_type": "code",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "id": "app_services_pl_plan_service_py_pltransportsitelink",
+ "community": 10,
+ "norm_label": "pltransportsitelink"
+ },
{
"label": "\u6279\u91cf\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002",
"file_type": "rationale",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L230",
- "id": "services_pl_plan_service_rationale_230",
+ "source_location": "L234",
+ "id": "services_pl_plan_service_rationale_234",
"community": 10,
"norm_label": "\u6279\u91cf\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002"
},
@@ -30111,8 +30426,8 @@
"label": "\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\uff08\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167\uff09\u3002",
"file_type": "rationale",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L258",
- "id": "services_pl_plan_service_rationale_258",
+ "source_location": "L262",
+ "id": "services_pl_plan_service_rationale_262",
"community": 10,
"norm_label": "\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6(\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167)\u3002"
},
@@ -30120,8 +30435,8 @@
"label": "\u5199\u5165/\u66f4\u65b0\u8349\u7a3f\u8fd0\u8f93\u5355\uff08pl_transport + pl_plan_transport\uff09\uff0c\u8ba1\u5212\u4fdd\u6301\u5f85\u5b89\u6392\u3002",
"file_type": "rationale",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L574",
- "id": "services_pl_plan_service_rationale_574",
+ "source_location": "L578",
+ "id": "services_pl_plan_service_rationale_578",
"community": 10,
"norm_label": "\u5199\u5165/\u66f4\u65b0\u8349\u7a3f\u8fd0\u8f93\u5355(pl_transport + pl_plan_transport),\u8ba1\u5212\u4fdd\u6301\u5f85\u5b89\u6392\u3002"
},
@@ -30129,8 +30444,8 @@
"label": "\u540c\u6b65\u8fd0\u8f93\u9884\u9009\u5230\u8349\u7a3f\u8fd0\u8f93\u5b50\u8868\uff08pl_transport\uff09\u3002",
"file_type": "rationale",
"source_file": "app/services/pl_plan_service.py",
- "source_location": "L738",
- "id": "services_pl_plan_service_rationale_738",
+ "source_location": "L742",
+ "id": "services_pl_plan_service_rationale_742",
"community": 10,
"norm_label": "\u540c\u6b65\u8fd0\u8f93\u9884\u9009\u5230\u8349\u7a3f\u8fd0\u8f93\u5b50\u8868(pl_transport)\u3002"
},
@@ -30149,7 +30464,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L31",
"id": "services_workflow_engine_workflowengine",
- "community": 124,
+ "community": 128,
"norm_label": "workflowengine"
},
{
@@ -30158,7 +30473,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L32",
"id": "services_workflow_engine_workflowengine_init",
- "community": 124,
+ "community": 128,
"norm_label": ".__init__()"
},
{
@@ -30176,7 +30491,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L39",
"id": "services_workflow_engine_workflowengine_start_process",
- "community": 124,
+ "community": 128,
"norm_label": ".start_process()"
},
{
@@ -30185,7 +30500,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L39",
"id": "app_services_workflow_engine_py_str",
- "community": 124,
+ "community": 128,
"norm_label": "str"
},
{
@@ -30194,7 +30509,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L39",
"id": "app_services_workflow_engine_py_any",
- "community": 124,
+ "community": 128,
"norm_label": "any"
},
{
@@ -30203,7 +30518,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L39",
"id": "app_services_workflow_engine_py_wfprocessinstance",
- "community": 124,
+ "community": 128,
"norm_label": "wfprocessinstance"
},
{
@@ -30212,7 +30527,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L77",
"id": "services_workflow_engine_workflowengine_approve_task",
- "community": 124,
+ "community": 128,
"norm_label": ".approve_task()"
},
{
@@ -30221,7 +30536,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L126",
"id": "services_workflow_engine_workflowengine_reject_task",
- "community": 124,
+ "community": 128,
"norm_label": ".reject_task()"
},
{
@@ -30230,7 +30545,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L160",
"id": "services_workflow_engine_workflowengine_advance",
- "community": 124,
+ "community": 128,
"norm_label": "._advance()"
},
{
@@ -30239,7 +30554,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L201",
"id": "services_workflow_engine_workflowengine_execute_node",
- "community": 124,
+ "community": 128,
"norm_label": "._execute_node()"
},
{
@@ -30257,7 +30572,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L238",
"id": "services_workflow_engine_workflowengine_resolve_approvers",
- "community": 124,
+ "community": 128,
"norm_label": "._resolve_approvers()"
},
{
@@ -30266,7 +30581,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L284",
"id": "services_workflow_engine_workflowengine_evaluate_condition",
- "community": 124,
+ "community": 128,
"norm_label": "._evaluate_condition()"
},
{
@@ -30284,7 +30599,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L306",
"id": "services_workflow_engine_workflowengine_check_rules",
- "community": 124,
+ "community": 128,
"norm_label": "._check_rules()"
},
{
@@ -30302,7 +30617,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L330",
"id": "services_workflow_engine_workflowengine_compare",
- "community": 124,
+ "community": 128,
"norm_label": "._compare()"
},
{
@@ -30311,7 +30626,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L359",
"id": "services_workflow_engine_workflowengine_get_variable",
- "community": 124,
+ "community": 128,
"norm_label": "._get_variable()"
},
{
@@ -30320,7 +30635,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L374",
"id": "services_workflow_engine_workflowengine_parse_node_config",
- "community": 124,
+ "community": 128,
"norm_label": "._parse_node_config()"
},
{
@@ -30329,7 +30644,7 @@
"source_file": "app/services/workflow_engine.py",
"source_location": "L383",
"id": "services_workflow_engine_workflowengine_parse_variables",
- "community": 124,
+ "community": 128,
"norm_label": "._parse_variables()"
},
{
@@ -30347,7 +30662,7 @@
"source_file": "app/services/pl_data_scope.py",
"source_location": "L1",
"id": "app_services_pl_data_scope_py",
- "community": 4,
+ "community": 28,
"norm_label": "pl_data_scope.py"
},
{
@@ -30356,7 +30671,7 @@
"source_file": "app/services/pl_data_scope.py",
"source_location": "L14",
"id": "services_pl_data_scope_apply_pl_scope",
- "community": 4,
+ "community": 9,
"norm_label": "apply_pl_scope()"
},
{
@@ -30365,7 +30680,7 @@
"source_file": "app/services/pl_data_scope.py",
"source_location": "L14",
"id": "app_services_pl_data_scope_py_session",
- "community": 4,
+ "community": 9,
"norm_label": "session"
},
{
@@ -30374,7 +30689,7 @@
"source_file": "app/services/pl_data_scope.py",
"source_location": "L14",
"id": "app_services_pl_data_scope_py_str",
- "community": 4,
+ "community": 9,
"norm_label": "str"
},
{
@@ -30392,7 +30707,7 @@
"source_file": "app/services/pl_data_scope.py",
"source_location": "L1",
"id": "services_pl_data_scope_rationale_1",
- "community": 4,
+ "community": 28,
"norm_label": "pl \u6a21\u5757\u6570\u636e\u6743\u9650\u8f85\u52a9(create_by / create_dept_id,\u65e0 owner_field)\u3002"
},
{
@@ -30401,7 +30716,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L1",
"id": "app_services_pl_carrier_service_py",
- "community": 35,
+ "community": 4,
"norm_label": "pl_carrier_service.py"
},
{
@@ -30410,7 +30725,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L12",
"id": "services_pl_carrier_service_urls_nonempty",
- "community": 35,
+ "community": 4,
"norm_label": "_urls_nonempty()"
},
{
@@ -30419,7 +30734,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L12",
"id": "app_services_pl_carrier_service_py_str",
- "community": 35,
+ "community": 4,
"norm_label": "str"
},
{
@@ -30428,7 +30743,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L12",
"id": "app_services_pl_carrier_service_py_bool",
- "community": 35,
+ "community": 4,
"norm_label": "bool"
},
{
@@ -30437,7 +30752,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L16",
"id": "services_pl_carrier_service_carrier_qualification_complete",
- "community": 35,
+ "community": 4,
"norm_label": "carrier_qualification_complete()"
},
{
@@ -30446,7 +30761,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L16",
"id": "app_services_pl_carrier_service_py_plcarrier",
- "community": 35,
+ "community": 4,
"norm_label": "plcarrier"
},
{
@@ -30455,7 +30770,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L25",
"id": "services_pl_carrier_service_carrier_agreement_expired",
- "community": 35,
+ "community": 4,
"norm_label": "carrier_agreement_expired()"
},
{
@@ -30464,7 +30779,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L25",
"id": "app_services_pl_carrier_service_py_date",
- "community": 35,
+ "community": 4,
"norm_label": "date"
},
{
@@ -30473,7 +30788,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L33",
"id": "services_pl_carrier_service_carrier_audit_approved",
- "community": 35,
+ "community": 4,
"norm_label": "carrier_audit_approved()"
},
{
@@ -30482,7 +30797,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L37",
"id": "services_pl_carrier_service_carrier_eligible_for_transport",
- "community": 35,
+ "community": 4,
"norm_label": "carrier_eligible_for_transport()"
},
{
@@ -30491,7 +30806,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L49",
"id": "services_pl_carrier_service_assert_carrier_eligible_for_transport",
- "community": 35,
+ "community": 4,
"norm_label": "assert_carrier_eligible_for_transport()"
},
{
@@ -30500,7 +30815,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L69",
"id": "services_pl_carrier_service_normalize_carrier_urls",
- "community": 35,
+ "community": 4,
"norm_label": "normalize_carrier_urls()"
},
{
@@ -30509,7 +30824,7 @@
"source_file": "app/services/pl_carrier_service.py",
"source_location": "L76",
"id": "services_pl_carrier_service_validate_carrier_qualification_fields",
- "community": 35,
+ "community": 4,
"norm_label": "validate_carrier_qualification_fields()"
},
{
@@ -31283,7 +31598,7 @@
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L71",
"id": "app_services_pl_freight_settlement_service_py_bool",
- "community": 44,
+ "community": 32,
"norm_label": "bool"
},
{
@@ -31292,7 +31607,7 @@
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L71",
"id": "plfreightsettlement",
- "community": 44,
+ "community": 32,
"norm_label": "plfreightsettlement"
},
{
@@ -31328,7 +31643,7 @@
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L135",
"id": "app_services_pl_freight_settlement_service_py_int",
- "community": 44,
+ "community": 32,
"norm_label": "int"
},
{
@@ -31346,7 +31661,7 @@
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L216",
"id": "app_services_pl_freight_settlement_service_py_pltransport",
- "community": 44,
+ "community": 32,
"norm_label": "pltransport"
},
{
@@ -31373,7 +31688,7 @@
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L310",
"id": "app_services_pl_freight_settlement_service_py_datetime",
- "community": 44,
+ "community": 32,
"norm_label": "datetime"
},
{
@@ -31850,7 +32165,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L1",
"id": "app_services_pl_inventory_link_read_py",
- "community": 90,
+ "community": 7,
"norm_label": "pl_inventory_link_read.py"
},
{
@@ -31859,7 +32174,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L7",
"id": "services_pl_inventory_link_read_build_transport_inventory_link_read",
- "community": 15,
+ "community": 7,
"norm_label": "build_transport_inventory_link_read()"
},
{
@@ -31868,7 +32183,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L7",
"id": "app_services_pl_inventory_link_read_py_session",
- "community": 15,
+ "community": 7,
"norm_label": "session"
},
{
@@ -31877,7 +32192,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L7",
"id": "app_services_pl_inventory_link_read_py_str",
- "community": 15,
+ "community": 7,
"norm_label": "str"
},
{
@@ -31886,7 +32201,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L7",
"id": "app_services_pl_inventory_link_read_py_transportinventorylinkread",
- "community": 15,
+ "community": 7,
"norm_label": "transportinventorylinkread"
},
{
@@ -31895,7 +32210,7 @@
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L1",
"id": "services_pl_inventory_link_read_rationale_1",
- "community": 90,
+ "community": 7,
"norm_label": "\u6784\u5efa\u8fd0\u8f93-\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\u8bfb\u6a21\u578b(\u4e0d\u542b\u73b0\u573a\u94fe\u63a5,\u73b0\u573a\u94fe\u63a5\u89c1 pl_transport_site_link)\u3002"
},
{
@@ -31934,11 +32249,20 @@
"community": 35,
"norm_label": "str"
},
+ {
+ "label": "int",
+ "file_type": "code",
+ "source_file": "app/services/pl_vehicle_maintenance_service.py",
+ "source_location": "L32",
+ "id": "app_services_pl_vehicle_maintenance_service_py_int",
+ "community": 35,
+ "norm_label": "int"
+ },
{
"label": "generate_apply_no()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L44",
+ "source_location": "L46",
"id": "services_pl_vehicle_maintenance_service_generate_apply_no",
"community": 35,
"norm_label": "generate_apply_no()"
@@ -31947,7 +32271,7 @@
"label": "generate_process_no()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L50",
+ "source_location": "L56",
"id": "services_pl_vehicle_maintenance_service_generate_process_no",
"community": 35,
"norm_label": "generate_process_no()"
@@ -31956,7 +32280,7 @@
"label": "_resolve_user_name()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L59",
+ "source_location": "L65",
"id": "services_pl_vehicle_maintenance_service_resolve_user_name",
"community": 35,
"norm_label": "_resolve_user_name()"
@@ -31965,7 +32289,7 @@
"label": "_assert_vehicle_exists()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L70",
+ "source_location": "L76",
"id": "services_pl_vehicle_maintenance_service_assert_vehicle_exists",
"community": 35,
"norm_label": "_assert_vehicle_exists()"
@@ -31974,7 +32298,7 @@
"label": "_resolve_user_id()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L84",
+ "source_location": "L90",
"id": "services_pl_vehicle_maintenance_service_resolve_user_id",
"community": 35,
"norm_label": "_resolve_user_id()"
@@ -31983,7 +32307,7 @@
"label": "DbUserContext",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L84",
+ "source_location": "L90",
"id": "app_services_pl_vehicle_maintenance_service_py_dbusercontext",
"community": 35,
"norm_label": "dbusercontext"
@@ -31992,7 +32316,7 @@
"label": "_validate_apply_dates()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L108",
+ "source_location": "L114",
"id": "services_pl_vehicle_maintenance_service_validate_apply_dates",
"community": 35,
"norm_label": "_validate_apply_dates()"
@@ -32001,7 +32325,7 @@
"label": "date",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L108",
+ "source_location": "L114",
"id": "app_services_pl_vehicle_maintenance_service_py_date",
"community": 35,
"norm_label": "date"
@@ -32010,7 +32334,7 @@
"label": "_get_apply_row()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L119",
+ "source_location": "L125",
"id": "services_pl_vehicle_maintenance_service_get_apply_row",
"community": 35,
"norm_label": "_get_apply_row()"
@@ -32019,7 +32343,7 @@
"label": "PlVehicleMaintenanceApply",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L119",
+ "source_location": "L125",
"id": "plvehiclemaintenanceapply",
"community": 35,
"norm_label": "plvehiclemaintenanceapply"
@@ -32028,7 +32352,7 @@
"label": "_get_process_row()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L137",
+ "source_location": "L143",
"id": "services_pl_vehicle_maintenance_service_get_process_row",
"community": 35,
"norm_label": "_get_process_row()"
@@ -32037,7 +32361,7 @@
"label": "PlVehicleMaintenanceProcess",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L137",
+ "source_location": "L143",
"id": "plvehiclemaintenanceprocess",
"community": 35,
"norm_label": "plvehiclemaintenanceprocess"
@@ -32046,7 +32370,7 @@
"label": "_has_active_process()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L155",
+ "source_location": "L161",
"id": "services_pl_vehicle_maintenance_service_has_active_process",
"community": 35,
"norm_label": "_has_active_process()"
@@ -32055,7 +32379,7 @@
"label": "bool",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L155",
+ "source_location": "L161",
"id": "app_services_pl_vehicle_maintenance_service_py_bool",
"community": 35,
"norm_label": "bool"
@@ -32064,7 +32388,7 @@
"label": "apply_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L168",
+ "source_location": "L174",
"id": "services_pl_vehicle_maintenance_service_apply_to_read",
"community": 35,
"norm_label": "apply_to_read()"
@@ -32073,7 +32397,7 @@
"label": "VehicleMaintenanceApplyRead",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L168",
+ "source_location": "L174",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceapplyread",
"community": 35,
"norm_label": "vehiclemaintenanceapplyread"
@@ -32082,7 +32406,7 @@
"label": "process_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L189",
+ "source_location": "L195",
"id": "services_pl_vehicle_maintenance_service_process_to_read",
"community": 35,
"norm_label": "process_to_read()"
@@ -32091,7 +32415,7 @@
"label": "VehicleMaintenanceProcessRead",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L189",
+ "source_location": "L195",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceprocessread",
"community": 35,
"norm_label": "vehiclemaintenanceprocessread"
@@ -32100,7 +32424,7 @@
"label": "_resolve_apply_for_process()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L221",
+ "source_location": "L227",
"id": "services_pl_vehicle_maintenance_service_resolve_apply_for_process",
"community": 35,
"norm_label": "_resolve_apply_for_process()"
@@ -32109,7 +32433,7 @@
"label": "VehicleMaintenanceProcessCreate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L221",
+ "source_location": "L227",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceprocesscreate",
"community": 35,
"norm_label": "vehiclemaintenanceprocesscreate"
@@ -32118,7 +32442,7 @@
"label": "VehicleMaintenanceProcessUpdate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L221",
+ "source_location": "L227",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceprocessupdate",
"community": 35,
"norm_label": "vehiclemaintenanceprocessupdate"
@@ -32127,25 +32451,16 @@
"label": "list_applies()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L254",
+ "source_location": "L260",
"id": "services_pl_vehicle_maintenance_service_list_applies",
"community": 35,
"norm_label": "list_applies()"
},
- {
- "label": "int",
- "file_type": "code",
- "source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L254",
- "id": "app_services_pl_vehicle_maintenance_service_py_int",
- "community": 35,
- "norm_label": "int"
- },
{
"label": "get_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L303",
+ "source_location": "L309",
"id": "services_pl_vehicle_maintenance_service_get_apply",
"community": 35,
"norm_label": "get_apply()"
@@ -32154,7 +32469,7 @@
"label": "create_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L310",
+ "source_location": "L316",
"id": "services_pl_vehicle_maintenance_service_create_apply",
"community": 35,
"norm_label": "create_apply()"
@@ -32163,7 +32478,7 @@
"label": "VehicleMaintenanceApplyCreate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L310",
+ "source_location": "L316",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceapplycreate",
"community": 35,
"norm_label": "vehiclemaintenanceapplycreate"
@@ -32172,7 +32487,7 @@
"label": "update_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L356",
+ "source_location": "L362",
"id": "services_pl_vehicle_maintenance_service_update_apply",
"community": 35,
"norm_label": "update_apply()"
@@ -32181,7 +32496,7 @@
"label": "VehicleMaintenanceApplyUpdate",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L356",
+ "source_location": "L362",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceapplyupdate",
"community": 35,
"norm_label": "vehiclemaintenanceapplyupdate"
@@ -32190,7 +32505,7 @@
"label": "cancel_apply()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L393",
+ "source_location": "L399",
"id": "services_pl_vehicle_maintenance_service_cancel_apply",
"community": 35,
"norm_label": "cancel_apply()"
@@ -32199,7 +32514,7 @@
"label": "delete_applies()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L407",
+ "source_location": "L413",
"id": "services_pl_vehicle_maintenance_service_delete_applies",
"community": 35,
"norm_label": "delete_applies()"
@@ -32208,7 +32523,7 @@
"label": "list_reminders()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L422",
+ "source_location": "L428",
"id": "services_pl_vehicle_maintenance_service_list_reminders",
"community": 35,
"norm_label": "list_reminders()"
@@ -32217,7 +32532,7 @@
"label": "VehicleMaintenanceApplyReminder",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L422",
+ "source_location": "L428",
"id": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceapplyreminder",
"community": 35,
"norm_label": "vehiclemaintenanceapplyreminder"
@@ -32226,7 +32541,7 @@
"label": "board_item_to_read()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L465",
+ "source_location": "L471",
"id": "services_pl_vehicle_maintenance_service_board_item_to_read",
"community": 35,
"norm_label": "board_item_to_read()"
@@ -32235,7 +32550,7 @@
"label": "VehicleMaintenanceProcessBoardItem",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L465",
+ "source_location": "L471",
"id": "vehiclemaintenanceprocessboarditem",
"community": 35,
"norm_label": "vehiclemaintenanceprocessboarditem"
@@ -32244,7 +32559,7 @@
"label": "list_process_board()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L492",
+ "source_location": "L498",
"id": "services_pl_vehicle_maintenance_service_list_process_board",
"community": 35,
"norm_label": "list_process_board()"
@@ -32253,7 +32568,7 @@
"label": "get_process()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L561",
+ "source_location": "L567",
"id": "services_pl_vehicle_maintenance_service_get_process",
"community": 35,
"norm_label": "get_process()"
@@ -32262,7 +32577,7 @@
"label": "create_process()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L568",
+ "source_location": "L574",
"id": "services_pl_vehicle_maintenance_service_create_process",
"community": 35,
"norm_label": "create_process()"
@@ -32271,7 +32586,7 @@
"label": "update_process()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L607",
+ "source_location": "L613",
"id": "services_pl_vehicle_maintenance_service_update_process",
"community": 35,
"norm_label": "update_process()"
@@ -32280,7 +32595,7 @@
"label": "delete_processes()",
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L659",
+ "source_location": "L665",
"id": "services_pl_vehicle_maintenance_service_delete_processes",
"community": 35,
"norm_label": "delete_processes()"
@@ -32291,7 +32606,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L1",
"id": "app_services_pl_transport_resource_snapshot_service_py",
- "community": 19,
+ "community": 96,
"norm_label": "pl_transport_resource_snapshot_service.py"
},
{
@@ -32300,7 +32615,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L24",
"id": "services_pl_transport_resource_snapshot_service_cert_to_snapshot",
- "community": 19,
+ "community": 96,
"norm_label": "_cert_to_snapshot()"
},
{
@@ -32309,7 +32624,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L24",
"id": "app_services_pl_transport_resource_snapshot_service_py_certread",
- "community": 19,
+ "community": 96,
"norm_label": "certread"
},
{
@@ -32318,7 +32633,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L24",
"id": "snapshotcertread",
- "community": 19,
+ "community": 96,
"norm_label": "snapshotcertread"
},
{
@@ -32327,7 +32642,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L40",
"id": "services_pl_transport_resource_snapshot_service_build_transport_resource_snapshot",
- "community": 19,
+ "community": 96,
"norm_label": "build_transport_resource_snapshot()"
},
{
@@ -32336,7 +32651,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L40",
"id": "app_services_pl_transport_resource_snapshot_service_py_session",
- "community": 19,
+ "community": 96,
"norm_label": "session"
},
{
@@ -32345,7 +32660,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L40",
"id": "app_services_pl_transport_resource_snapshot_service_py_str",
- "community": 19,
+ "community": 96,
"norm_label": "str"
},
{
@@ -32354,7 +32669,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L40",
"id": "transportresourcesnapshot",
- "community": 19,
+ "community": 96,
"norm_label": "transportresourcesnapshot"
},
{
@@ -32363,7 +32678,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L122",
"id": "services_pl_transport_resource_snapshot_service_apply_resource_snapshot_json",
- "community": 7,
+ "community": 96,
"norm_label": "apply_resource_snapshot_json()"
},
{
@@ -32381,7 +32696,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L1",
"id": "services_pl_transport_resource_snapshot_service_rationale_1",
- "community": 19,
+ "community": 96,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212 - \u5b89\u6392\u8fd0\u8f93\u65f6\u8f66\u8f86/\u4eba\u5458/\u8bc1\u4ef6\u8d44\u6e90\u5feb\u7167"
},
{
@@ -32390,7 +32705,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L47",
"id": "services_pl_transport_resource_snapshot_service_rationale_47",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bfb\u53d6\u8f66\u8f86\u5f53\u524d\u4e3b\u6570\u636e,\u751f\u6210\u5b89\u6392\u8fd0\u8f93\u7528\u6574\u5305\u5feb\u7167\u3002"
},
{
@@ -32399,7 +32714,7 @@
"source_file": "app/services/pl_transport_resource_snapshot_service.py",
"source_location": "L128",
"id": "services_pl_transport_resource_snapshot_service_rationale_128",
- "community": 7,
+ "community": 96,
"norm_label": "\u5c06\u5feb\u7167 json \u5199\u5165\u8ba1\u5212/\u8fd0\u8f93\u5355,\u5e76\u540c\u6b65\u6807\u91cf\u5197\u4f59\u5b57\u6bb5\u3002"
},
{
@@ -32642,7 +32957,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L1",
"id": "app_services_pl_site_link_read_py",
- "community": 15,
+ "community": 7,
"norm_label": "pl_site_link_read.py"
},
{
@@ -32651,7 +32966,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L13",
"id": "services_pl_site_link_read_build_transport_site_link_read",
- "community": 15,
+ "community": 7,
"norm_label": "build_transport_site_link_read()"
},
{
@@ -32660,7 +32975,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L13",
"id": "app_services_pl_site_link_read_py_session",
- "community": 15,
+ "community": 7,
"norm_label": "session"
},
{
@@ -32669,7 +32984,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L13",
"id": "app_services_pl_site_link_read_py_str",
- "community": 15,
+ "community": 7,
"norm_label": "str"
},
{
@@ -32678,7 +32993,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L13",
"id": "app_services_pl_site_link_read_py_transportsitelinkread",
- "community": 15,
+ "community": 7,
"norm_label": "transportsitelinkread"
},
{
@@ -32687,7 +33002,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L47",
"id": "services_pl_site_link_read_build_transport_site_link_read_from_row",
- "community": 15,
+ "community": 7,
"norm_label": "build_transport_site_link_read_from_row()"
},
{
@@ -32696,7 +33011,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L47",
"id": "app_services_pl_site_link_read_py_pltransportsitelink",
- "community": 15,
+ "community": 7,
"norm_label": "pltransportsitelink"
},
{
@@ -32705,7 +33020,7 @@
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L63",
"id": "services_pl_site_link_read_parse_feedback_images",
- "community": 15,
+ "community": 7,
"norm_label": "_parse_feedback_images()"
},
{
@@ -32714,7 +33029,7 @@
"source_file": "app/services/db_data_scope.py",
"source_location": "L1",
"id": "app_services_db_data_scope_py",
- "community": 61,
+ "community": 28,
"norm_label": "db_data_scope.py"
},
{
@@ -32759,7 +33074,7 @@
"source_file": "app/services/db_data_scope.py",
"source_location": "L1",
"id": "services_db_data_scope_rationale_1",
- "community": 61,
+ "community": 28,
"norm_label": "db \u5730\u78c5\u6a21\u5757\u6570\u636e\u6743\u9650\u8f85\u52a9(create_by / create_dept_id)\u3002"
},
{
@@ -32768,7 +33083,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L1",
"id": "app_services_pl_transport_site_service_py",
- "community": 15,
+ "community": 22,
"norm_label": "pl_transport_site_service.py"
},
{
@@ -32777,7 +33092,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L23",
"id": "services_pl_transport_site_service_transportsitelinkresult",
- "community": 15,
+ "community": 22,
"norm_label": "transportsitelinkresult"
},
{
@@ -32786,7 +33101,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L31",
"id": "services_pl_transport_site_service_normalize_plan_date",
- "community": 15,
+ "community": 22,
"norm_label": "_normalize_plan_date()"
},
{
@@ -32795,7 +33110,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L31",
"id": "app_services_pl_transport_site_service_py_plplan",
- "community": 15,
+ "community": 22,
"norm_label": "plplan"
},
{
@@ -32804,7 +33119,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L31",
"id": "app_services_pl_transport_site_service_py_date",
- "community": 15,
+ "community": 22,
"norm_label": "date"
},
{
@@ -32813,7 +33128,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L43",
"id": "services_pl_transport_site_service_revoke_site_links_for_transport",
- "community": 15,
+ "community": 22,
"norm_label": "revoke_site_links_for_transport()"
},
{
@@ -32822,7 +33137,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L43",
"id": "app_services_pl_transport_site_service_py_session",
- "community": 15,
+ "community": 22,
"norm_label": "session"
},
{
@@ -32831,7 +33146,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L43",
"id": "app_services_pl_transport_site_service_py_str",
- "community": 15,
+ "community": 22,
"norm_label": "str"
},
{
@@ -32840,7 +33155,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L67",
"id": "services_pl_transport_site_service_sync_site_links_for_transport",
- "community": 15,
+ "community": 22,
"norm_label": "sync_site_links_for_transport()"
},
{
@@ -32849,7 +33164,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L67",
"id": "app_services_pl_transport_site_service_py_plplanproduct",
- "community": 15,
+ "community": 22,
"norm_label": "plplanproduct"
},
{
@@ -32858,7 +33173,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L67",
"id": "app_services_pl_transport_site_service_py_pltransport",
- "community": 15,
+ "community": 22,
"norm_label": "pltransport"
},
{
@@ -32867,7 +33182,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L1",
"id": "services_pl_transport_site_service_rationale_1",
- "community": 15,
+ "community": 22,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212 \u00b7 \u5de5\u5382\u73b0\u573a\u94fe\u63a5(\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5355\u89e3\u8026)"
},
{
@@ -32876,7 +33191,7 @@
"source_file": "app/services/pl_transport_site_service.py",
"source_location": "L77",
"id": "services_pl_transport_site_service_rationale_77",
- "community": 15,
+ "community": 22,
"norm_label": "\u5165\u5e93/\u51fa\u5e93\u5b89\u6392\u8fd0\u8f93:\u6309\u4ea7\u54c1\u751f\u6210\u73b0\u573a\u94fe\u63a5(\u4e0d\u5199 db_inbound_outbound)\u3002"
},
{
@@ -32885,7 +33200,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L1",
"id": "app_services_pl_cert_service_py",
- "community": 19,
+ "community": 96,
"norm_label": "pl_cert_service.py"
},
{
@@ -32894,7 +33209,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L14",
"id": "services_pl_cert_service_list_owner_certs",
- "community": 19,
+ "community": 96,
"norm_label": "list_owner_certs()"
},
{
@@ -32903,7 +33218,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L14",
"id": "app_services_pl_cert_service_py_session",
- "community": 19,
+ "community": 96,
"norm_label": "session"
},
{
@@ -32912,7 +33227,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L14",
"id": "app_services_pl_cert_service_py_str",
- "community": 19,
+ "community": 96,
"norm_label": "str"
},
{
@@ -32921,7 +33236,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L14",
"id": "plcert",
- "community": 19,
+ "community": 96,
"norm_label": "plcert"
},
{
@@ -32930,7 +33245,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L30",
"id": "services_pl_cert_service_certs_to_read",
- "community": 19,
+ "community": 96,
"norm_label": "certs_to_read()"
},
{
@@ -32939,7 +33254,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L30",
"id": "app_services_pl_cert_service_py_certread",
- "community": 19,
+ "community": 96,
"norm_label": "certread"
},
{
@@ -32948,7 +33263,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L52",
"id": "services_pl_cert_service_normalize_cert_row",
- "community": 19,
+ "community": 96,
"norm_label": "_normalize_cert_row()"
},
{
@@ -32957,7 +33272,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L52",
"id": "certrow",
- "community": 19,
+ "community": 96,
"norm_label": "certrow"
},
{
@@ -32966,7 +33281,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L58",
"id": "services_pl_cert_service_save_owner_certs",
- "community": 19,
+ "community": 96,
"norm_label": "save_owner_certs()"
},
{
@@ -32975,7 +33290,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L116",
"id": "services_pl_cert_service_nearest_expire_date",
- "community": 19,
+ "community": 96,
"norm_label": "nearest_expire_date()"
},
{
@@ -32984,7 +33299,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L116",
"id": "app_services_pl_cert_service_py_date",
- "community": 19,
+ "community": 96,
"norm_label": "date"
},
{
@@ -32993,7 +33308,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L134",
"id": "services_pl_cert_service_resolve_owner_label",
- "community": 19,
+ "community": 96,
"norm_label": "_resolve_owner_label()"
},
{
@@ -33002,7 +33317,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L161",
"id": "services_pl_cert_service_scan_cert_expiry",
- "community": 19,
+ "community": 96,
"norm_label": "scan_cert_expiry()"
},
{
@@ -33011,7 +33326,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L161",
"id": "app_services_pl_cert_service_py_int",
- "community": 19,
+ "community": 96,
"norm_label": "int"
},
{
@@ -33020,7 +33335,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L68",
"id": "services_pl_cert_service_rationale_68",
- "community": 19,
+ "community": 96,
"norm_label": "\u6309 cert_id upsert;\u672a\u51fa\u73b0\u5728\u5217\u8868\u4e2d\u7684\u65e7\u8bc1\u8f6f\u5220\u3002"
},
{
@@ -33029,7 +33344,7 @@
"source_file": "app/services/pl_cert_service.py",
"source_location": "L162",
"id": "services_pl_cert_service_rationale_162",
- "community": 19,
+ "community": 96,
"norm_label": "\u626b\u63cf pl_cert \u751f\u6210\u5230\u671f\u63d0\u9192,\u8fd4\u56de\u65b0\u5efa\u6761\u6570\u3002"
},
{
@@ -33234,7 +33549,7 @@
"label": ".approved_by_me()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L149",
+ "source_location": "L159",
"id": "bx_reimburse_reimburseservice_approved_by_me",
"community": 18,
"norm_label": ".approved_by_me()"
@@ -33243,7 +33558,7 @@
"label": ".submit()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L198",
+ "source_location": "L220",
"id": "bx_reimburse_reimburseservice_submit",
"community": 18,
"norm_label": ".submit()"
@@ -33252,7 +33567,7 @@
"label": ".approve()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L215",
+ "source_location": "L237",
"id": "bx_reimburse_reimburseservice_approve",
"community": 18,
"norm_label": ".approve()"
@@ -33261,7 +33576,7 @@
"label": ".reject()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L260",
+ "source_location": "L282",
"id": "bx_reimburse_reimburseservice_reject",
"community": 18,
"norm_label": ".reject()"
@@ -33270,7 +33585,7 @@
"label": "._approval_record_dict()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L297",
+ "source_location": "L319",
"id": "bx_reimburse_reimburseservice_approval_record_dict",
"community": 18,
"norm_label": "._approval_record_dict()"
@@ -33279,7 +33594,7 @@
"label": "BxReimburseApproval",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L297",
+ "source_location": "L319",
"id": "bxreimburseapproval",
"community": 18,
"norm_label": "bxreimburseapproval"
@@ -33288,7 +33603,7 @@
"label": "._latest_approval_per_node()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L310",
+ "source_location": "L332",
"id": "bx_reimburse_reimburseservice_latest_approval_per_node",
"community": 18,
"norm_label": "._latest_approval_per_node()"
@@ -33297,7 +33612,7 @@
"label": "._query_approvals()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L327",
+ "source_location": "L349",
"id": "bx_reimburse_reimburseservice_query_approvals",
"community": 18,
"norm_label": "._query_approvals()"
@@ -33306,7 +33621,7 @@
"label": ".get_approvals()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L339",
+ "source_location": "L361",
"id": "bx_reimburse_reimburseservice_get_approvals",
"community": 18,
"norm_label": ".get_approvals()"
@@ -33315,7 +33630,7 @@
"label": ".get_approval_history()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L375",
+ "source_location": "L397",
"id": "bx_reimburse_reimburseservice_get_approval_history",
"community": 18,
"norm_label": ".get_approval_history()"
@@ -33324,7 +33639,7 @@
"label": ".create_with_details()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L394",
+ "source_location": "L416",
"id": "bx_reimburse_reimburseservice_create_with_details",
"community": 18,
"norm_label": ".create_with_details()"
@@ -33333,7 +33648,7 @@
"label": ".update_with_details()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L458",
+ "source_location": "L480",
"id": "bx_reimburse_reimburseservice_update_with_details",
"community": 18,
"norm_label": ".update_with_details()"
@@ -33342,7 +33657,7 @@
"label": ".get_details()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L537",
+ "source_location": "L559",
"id": "bx_reimburse_reimburseservice_get_details",
"community": 18,
"norm_label": ".get_details()"
@@ -33351,16 +33666,34 @@
"label": "BxReimburseDetail",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L537",
+ "source_location": "L559",
"id": "bxreimbursedetail",
"community": 18,
"norm_label": "bxreimbursedetail"
},
+ {
+ "label": ".build_expense_name_condition()",
+ "file_type": "code",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L572",
+ "id": "bx_reimburse_reimburseservice_build_expense_name_condition",
+ "community": 18,
+ "norm_label": ".build_expense_name_condition()"
+ },
+ {
+ "label": ".get_details_map_by_reimburse_ids()",
+ "file_type": "code",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L592",
+ "id": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids",
+ "community": 18,
+ "norm_label": ".get_details_map_by_reimburse_ids()"
+ },
{
"label": ".out_rows_with_attachment_counts()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L550",
+ "source_location": "L613",
"id": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts",
"community": 18,
"norm_label": ".out_rows_with_attachment_counts()"
@@ -33369,7 +33702,7 @@
"label": "ReimburseApplyOut",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L550",
+ "source_location": "L613",
"id": "app_services_bx_reimburse_py_reimburseapplyout",
"community": 18,
"norm_label": "reimburseapplyout"
@@ -33378,7 +33711,7 @@
"label": ".out_one_with_attachment_counts()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L567",
+ "source_location": "L640",
"id": "bx_reimburse_reimburseservice_out_one_with_attachment_counts",
"community": 18,
"norm_label": ".out_one_with_attachment_counts()"
@@ -33387,7 +33720,7 @@
"label": ".build_apply_out_with_details()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L573",
+ "source_location": "L646",
"id": "bx_reimburse_reimburseservice_build_apply_out_with_details",
"community": 18,
"norm_label": ".build_apply_out_with_details()"
@@ -33396,7 +33729,7 @@
"label": ".global_status_counts()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L582",
+ "source_location": "L655",
"id": "bx_reimburse_reimburseservice_global_status_counts",
"community": 18,
"norm_label": ".global_status_counts()"
@@ -33405,7 +33738,7 @@
"label": "._my_apply_base()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L591",
+ "source_location": "L664",
"id": "bx_reimburse_reimburseservice_my_apply_base",
"community": 18,
"norm_label": "._my_apply_base()"
@@ -33414,7 +33747,7 @@
"label": ".my_apply_stats()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L603",
+ "source_location": "L676",
"id": "bx_reimburse_reimburseservice_my_apply_stats",
"community": 18,
"norm_label": ".my_apply_stats()"
@@ -33423,7 +33756,7 @@
"label": ".pending_approval_stats()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L661",
+ "source_location": "L734",
"id": "bx_reimburse_reimburseservice_pending_approval_stats",
"community": 18,
"norm_label": ".pending_approval_stats()"
@@ -33432,7 +33765,7 @@
"label": ".pay()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L692",
+ "source_location": "L765",
"id": "bx_reimburse_reimburseservice_pay",
"community": 18,
"norm_label": ".pay()"
@@ -33441,7 +33774,7 @@
"label": "float",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L692",
+ "source_location": "L765",
"id": "app_services_bx_reimburse_py_float",
"community": 18,
"norm_label": "float"
@@ -33450,7 +33783,7 @@
"label": ".offset()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L715",
+ "source_location": "L788",
"id": "bx_reimburse_reimburseservice_offset",
"community": 18,
"norm_label": ".offset()"
@@ -33459,7 +33792,7 @@
"label": ".batch_offset()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L746",
+ "source_location": "L819",
"id": "bx_reimburse_reimburseservice_batch_offset",
"community": 18,
"norm_label": ".batch_offset()"
@@ -33468,7 +33801,7 @@
"label": ".finance_payment_stats()",
"file_type": "code",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L801",
+ "source_location": "L874",
"id": "bx_reimburse_reimburseservice_finance_payment_stats",
"community": 18,
"norm_label": ".finance_payment_stats()"
@@ -33477,8 +33810,8 @@
"label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
"file_type": "rationale",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L313",
- "id": "bx_reimburse_rationale_313",
+ "source_location": "L335",
+ "id": "bx_reimburse_rationale_335",
"community": 18,
"norm_label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6,\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002"
},
@@ -33486,8 +33819,8 @@
"label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
"file_type": "rationale",
"source_file": "app/services/bx/reimburse.py",
- "source_location": "L378",
- "id": "bx_reimburse_rationale_378",
+ "source_location": "L400",
+ "id": "bx_reimburse_rationale_400",
"community": 18,
"norm_label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c,\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217,\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002"
},
@@ -33909,7 +34242,7 @@
"label": ".approved_by_me()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L158",
+ "source_location": "L163",
"id": "bx_advance_advanceservice_approved_by_me",
"community": 25,
"norm_label": ".approved_by_me()"
@@ -33918,7 +34251,7 @@
"label": "._workflow_nodes()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L207",
+ "source_location": "L219",
"id": "bx_advance_advanceservice_workflow_nodes",
"community": 25,
"norm_label": "._workflow_nodes()"
@@ -33927,7 +34260,7 @@
"label": "BxWorkflowNode",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L207",
+ "source_location": "L219",
"id": "app_services_bx_advance_py_bxworkflownode",
"community": 25,
"norm_label": "bxworkflownode"
@@ -33936,7 +34269,7 @@
"label": ".submit()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L220",
+ "source_location": "L232",
"id": "bx_advance_advanceservice_submit",
"community": 25,
"norm_label": ".submit()"
@@ -33945,7 +34278,7 @@
"label": ".approve()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L237",
+ "source_location": "L249",
"id": "bx_advance_advanceservice_approve",
"community": 25,
"norm_label": ".approve()"
@@ -33954,7 +34287,7 @@
"label": ".reject()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L282",
+ "source_location": "L294",
"id": "bx_advance_advanceservice_reject",
"community": 25,
"norm_label": ".reject()"
@@ -33963,7 +34296,7 @@
"label": "._approval_record_dict()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L319",
+ "source_location": "L331",
"id": "bx_advance_advanceservice_approval_record_dict",
"community": 25,
"norm_label": "._approval_record_dict()"
@@ -33972,7 +34305,7 @@
"label": "BxAdvanceApproval",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L319",
+ "source_location": "L331",
"id": "bxadvanceapproval",
"community": 25,
"norm_label": "bxadvanceapproval"
@@ -33981,7 +34314,7 @@
"label": "._latest_approval_per_node()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L332",
+ "source_location": "L344",
"id": "bx_advance_advanceservice_latest_approval_per_node",
"community": 25,
"norm_label": "._latest_approval_per_node()"
@@ -33990,7 +34323,7 @@
"label": "._query_approvals()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L349",
+ "source_location": "L361",
"id": "bx_advance_advanceservice_query_approvals",
"community": 25,
"norm_label": "._query_approvals()"
@@ -33999,7 +34332,7 @@
"label": ".get_approvals()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L361",
+ "source_location": "L373",
"id": "bx_advance_advanceservice_get_approvals",
"community": 25,
"norm_label": ".get_approvals()"
@@ -34008,7 +34341,7 @@
"label": ".get_approval_history()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L397",
+ "source_location": "L409",
"id": "bx_advance_advanceservice_get_approval_history",
"community": 25,
"norm_label": ".get_approval_history()"
@@ -34017,7 +34350,7 @@
"label": ".global_status_counts()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L416",
+ "source_location": "L428",
"id": "bx_advance_advanceservice_global_status_counts",
"community": 25,
"norm_label": ".global_status_counts()"
@@ -34026,7 +34359,7 @@
"label": "._my_apply_base()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L425",
+ "source_location": "L437",
"id": "bx_advance_advanceservice_my_apply_base",
"community": 25,
"norm_label": "._my_apply_base()"
@@ -34035,7 +34368,7 @@
"label": ".my_apply_stats()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L437",
+ "source_location": "L449",
"id": "bx_advance_advanceservice_my_apply_stats",
"community": 25,
"norm_label": ".my_apply_stats()"
@@ -34044,7 +34377,7 @@
"label": ".pending_approval_stats()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L517",
+ "source_location": "L529",
"id": "bx_advance_advanceservice_pending_approval_stats",
"community": 25,
"norm_label": ".pending_approval_stats()"
@@ -34053,7 +34386,7 @@
"label": ".offset_amount_map()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L548",
+ "source_location": "L560",
"id": "bx_advance_advanceservice_offset_amount_map",
"community": 25,
"norm_label": ".offset_amount_map()"
@@ -34062,7 +34395,7 @@
"label": "float",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L548",
+ "source_location": "L560",
"id": "app_services_bx_advance_py_float",
"community": 25,
"norm_label": "float"
@@ -34071,7 +34404,7 @@
"label": ".issue()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L567",
+ "source_location": "L579",
"id": "bx_advance_advanceservice_issue",
"community": 25,
"norm_label": ".issue()"
@@ -34080,7 +34413,7 @@
"label": ".finance_issue_stats()",
"file_type": "code",
"source_file": "app/services/bx/advance.py",
- "source_location": "L592",
+ "source_location": "L604",
"id": "bx_advance_advanceservice_finance_issue_stats",
"community": 25,
"norm_label": ".finance_issue_stats()"
@@ -34089,8 +34422,8 @@
"label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
"file_type": "rationale",
"source_file": "app/services/bx/advance.py",
- "source_location": "L335",
- "id": "bx_advance_rationale_335",
+ "source_location": "L347",
+ "id": "bx_advance_rationale_347",
"community": 25,
"norm_label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6,\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002"
},
@@ -34098,8 +34431,8 @@
"label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
"file_type": "rationale",
"source_file": "app/services/bx/advance.py",
- "source_location": "L400",
- "id": "bx_advance_rationale_400",
+ "source_location": "L412",
+ "id": "bx_advance_rationale_412",
"community": 25,
"norm_label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c,\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217,\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002"
},
@@ -34280,7 +34613,7 @@
"source_file": "app/services/bx/workflow.py",
"source_location": "L1",
"id": "app_services_bx_workflow_py",
- "community": 70,
+ "community": 94,
"norm_label": "workflow.py"
},
{
@@ -34370,7 +34703,7 @@
"source_file": "app/services/bx/workflow.py",
"source_location": "L45",
"id": "app_services_bx_workflow_py_int",
- "community": 18,
+ "community": 94,
"norm_label": "int"
},
{
@@ -34433,7 +34766,7 @@
"source_file": "app/services/bx/workflow.py",
"source_location": "L151",
"id": "app_services_bx_workflow_py_bxworkflownode",
- "community": 18,
+ "community": 94,
"norm_label": "bxworkflownode"
},
{
@@ -34622,7 +34955,7 @@
"source_file": "app/services/db/weighing_logic.py",
"source_location": "L20",
"id": "db_weighing_logic_process_weighing_business_logic",
- "community": 71,
+ "community": 23,
"norm_label": "process_weighing_business_logic()"
},
{
@@ -34658,7 +34991,7 @@
"source_file": "app/services/db/weighing_logic.py",
"source_location": "L21",
"id": "db_weighing_logic_rationale_21",
- "community": 71,
+ "community": 23,
"norm_label": "\u5904\u7406\u5730\u78c5\u5355\u7684\u4e1a\u52a1\u903b\u8f91: 1. \u66f4\u65b0\u8ba1\u5212\u5355\u7684\u5df2\u6267\u884c\u91cf(\u5355\u4f4d:kg) 2. \u66f4\u65b0\u51fa\u5165\u5e93\u5355\u7684\u72b6\u6001 3. \u91cd\u65b0\u8ba1\u7b97\u5730\u78c5\u5355\u7684 executed_q"
},
{
@@ -34667,7 +35000,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L1",
"id": "app_services_db_product_helpers_py",
- "community": 150,
+ "community": 109,
"norm_label": "product_helpers.py"
},
{
@@ -34676,7 +35009,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L13",
"id": "db_product_helpers_productsnapshot",
- "community": 150,
+ "community": 109,
"norm_label": "productsnapshot"
},
{
@@ -34685,7 +35018,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L19",
"id": "db_product_helpers_resolve_crm_product",
- "community": 150,
+ "community": 109,
"norm_label": "resolve_crm_product()"
},
{
@@ -34694,7 +35027,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L19",
"id": "app_services_db_product_helpers_py_session",
- "community": 150,
+ "community": 109,
"norm_label": "session"
},
{
@@ -34703,7 +35036,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L19",
"id": "app_services_db_product_helpers_py_str",
- "community": 150,
+ "community": 109,
"norm_label": "str"
},
{
@@ -34712,7 +35045,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L51",
"id": "db_product_helpers_apply_product_snapshot_to_plan",
- "community": 150,
+ "community": 127,
"norm_label": "apply_product_snapshot_to_plan()"
},
{
@@ -34721,7 +35054,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L57",
"id": "db_product_helpers_apply_product_snapshot_to_inventory",
- "community": 150,
+ "community": 109,
"norm_label": "apply_product_snapshot_to_inventory()"
},
{
@@ -34730,7 +35063,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L63",
"id": "db_product_helpers_apply_product_snapshot_to_weighing",
- "community": 71,
+ "community": 23,
"norm_label": "apply_product_snapshot_to_weighing()"
},
{
@@ -34739,7 +35072,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L1",
"id": "db_product_helpers_rationale_1",
- "community": 150,
+ "community": 109,
"norm_label": "\u5730\u78c5\u6a21\u5757 \u2014 crm \u4ea7\u54c1\u89e3\u6790\u4e0e\u5feb\u7167\u5199\u5165\u3002"
},
{
@@ -34748,7 +35081,7 @@
"source_file": "app/services/db/product_helpers.py",
"source_location": "L20",
"id": "db_product_helpers_rationale_20",
- "community": 150,
+ "community": 109,
"norm_label": "\u6821\u9a8c crm \u4ea7\u54c1\u5e76\u8fd4\u56de\u540d\u79f0/\u89c4\u683c\u5feb\u7167\u3002\u65b0\u5efa\u5355\u636e product_id \u5fc5\u586b\u3002"
},
{
@@ -34766,7 +35099,7 @@
"source_file": "app/services/db/plan_helpers.py",
"source_location": "L1",
"id": "app_services_db_plan_helpers_py",
- "community": 74,
+ "community": 71,
"norm_label": "plan_helpers.py"
},
{
@@ -34775,7 +35108,7 @@
"source_file": "app/services/db/plan_helpers.py",
"source_location": "L7",
"id": "db_plan_helpers_generate_plan_no",
- "community": 74,
+ "community": 71,
"norm_label": "generate_plan_no()"
},
{
@@ -34784,7 +35117,7 @@
"source_file": "app/services/db/plan_helpers.py",
"source_location": "L7",
"id": "app_services_db_plan_helpers_py_str",
- "community": 74,
+ "community": 71,
"norm_label": "str"
},
{
@@ -34793,7 +35126,7 @@
"source_file": "app/services/db/plan_helpers.py",
"source_location": "L13",
"id": "db_plan_helpers_default_execution_status",
- "community": 74,
+ "community": 71,
"norm_label": "default_execution_status()"
},
{
@@ -34802,7 +35135,7 @@
"source_file": "app/services/db/plan_helpers.py",
"source_location": "L8",
"id": "db_plan_helpers_rationale_8",
- "community": 74,
+ "community": 71,
"norm_label": "\u751f\u6210\u8ba1\u5212\u53f7:sx-yyyymmddhhmmss001"
},
{
@@ -34811,7 +35144,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L1",
"id": "app_services_db_mappers_py",
- "community": 50,
+ "community": 127,
"norm_label": "mappers.py"
},
{
@@ -34820,7 +35153,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L17",
"id": "db_mappers_fmt_date",
- "community": 50,
+ "community": 127,
"norm_label": "fmt_date()"
},
{
@@ -34829,7 +35162,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L17",
"id": "app_services_db_mappers_py_date",
- "community": 50,
+ "community": 127,
"norm_label": "date"
},
{
@@ -34838,7 +35171,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L17",
"id": "app_services_db_mappers_py_datetime",
- "community": 50,
+ "community": 127,
"norm_label": "datetime"
},
{
@@ -34847,7 +35180,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L17",
"id": "app_services_db_mappers_py_str",
- "community": 50,
+ "community": 127,
"norm_label": "str"
},
{
@@ -34856,7 +35189,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L27",
"id": "db_mappers_fmt_datetime",
- "community": 50,
+ "community": 127,
"norm_label": "fmt_datetime()"
},
{
@@ -34865,7 +35198,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
"id": "db_mappers_plan_to_read",
- "community": 23,
+ "community": 127,
"norm_label": "plan_to_read()"
},
{
@@ -34874,7 +35207,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
"id": "app_services_db_mappers_py_dbpurchaseplan",
- "community": 23,
+ "community": 127,
"norm_label": "dbpurchaseplan"
},
{
@@ -34883,7 +35216,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
"id": "app_services_db_mappers_py_float",
- "community": 23,
+ "community": 127,
"norm_label": "float"
},
{
@@ -34892,7 +35225,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
"id": "app_services_db_mappers_py_purchaseplanread",
- "community": 39,
+ "community": 127,
"norm_label": "purchaseplanread"
},
{
@@ -34901,7 +35234,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L64",
"id": "db_mappers_plan_to_read_with_fill_link",
- "community": 23,
+ "community": 127,
"norm_label": "plan_to_read_with_fill_link()"
},
{
@@ -34910,7 +35243,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L64",
"id": "app_services_db_mappers_py_purchaseplanwithfilllink",
- "community": 39,
+ "community": 127,
"norm_label": "purchaseplanwithfilllink"
},
{
@@ -34919,7 +35252,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L77",
"id": "db_mappers_is_empty_inventory_date",
- "community": 50,
+ "community": 127,
"norm_label": "is_empty_inventory_date()"
},
{
@@ -34928,7 +35261,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L77",
"id": "app_services_db_mappers_py_bool",
- "community": 39,
+ "community": 127,
"norm_label": "bool"
},
{
@@ -34937,7 +35270,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L81",
"id": "db_mappers_inventory_date_to_api",
- "community": 50,
+ "community": 127,
"norm_label": "inventory_date_to_api()"
},
{
@@ -34946,7 +35279,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L87",
"id": "db_mappers_parse_site_feedback_images",
- "community": 50,
+ "community": 127,
"norm_label": "_parse_site_feedback_images()"
},
{
@@ -34964,7 +35297,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L101",
"id": "app_services_db_mappers_py_dbinboundoutbound",
- "community": 39,
+ "community": 27,
"norm_label": "dbinboundoutbound"
},
{
@@ -34973,7 +35306,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L101",
"id": "app_services_db_mappers_py_dbweighingslip",
- "community": 39,
+ "community": 27,
"norm_label": "dbweighingslip"
},
{
@@ -34982,7 +35315,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L101",
"id": "app_services_db_mappers_py_inboundoutboundread",
- "community": 39,
+ "community": 27,
"norm_label": "inboundoutboundread"
},
{
@@ -34991,7 +35324,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L153",
"id": "db_mappers_weighing_to_read",
- "community": 71,
+ "community": 23,
"norm_label": "weighing_to_read()"
},
{
@@ -35000,7 +35333,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L153",
"id": "app_services_db_mappers_py_weighingslipread",
- "community": 39,
+ "community": 27,
"norm_label": "weighingslipread"
},
{
@@ -35009,7 +35342,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L184",
"id": "db_mappers_datetime_end_of_day",
- "community": 50,
+ "community": 127,
"norm_label": "datetime_end_of_day()"
},
{
@@ -35018,7 +35351,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L188",
"id": "db_mappers_parse_date_str",
- "community": 50,
+ "community": 127,
"norm_label": "parse_date_str()"
},
{
@@ -35027,7 +35360,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L197",
"id": "db_mappers_parse_datetime_str",
- "community": 50,
+ "community": 127,
"norm_label": "parse_datetime_str()"
},
{
@@ -35036,7 +35369,7 @@
"source_file": "app/services/db/mappers.py",
"source_location": "L1",
"id": "db_mappers_rationale_1",
- "community": 50,
+ "community": 127,
"norm_label": "\u5730\u78c5 orm \u2192 api read \u6a21\u578b\u6620\u5c04\u3002"
},
{
@@ -35144,7 +35477,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L1",
"id": "app_services_db_auto_generate_plans_py",
- "community": 74,
+ "community": 71,
"norm_label": "auto_generate_plans.py"
},
{
@@ -35153,7 +35486,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L17",
"id": "db_auto_generate_plans_month_range",
- "community": 74,
+ "community": 71,
"norm_label": "month_range()"
},
{
@@ -35162,7 +35495,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L17",
"id": "app_services_db_auto_generate_plans_py_date",
- "community": 74,
+ "community": 71,
"norm_label": "date"
},
{
@@ -35171,7 +35504,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L28",
"id": "db_auto_generate_plans_get_last_month_range",
- "community": 74,
+ "community": 71,
"norm_label": "get_last_month_range()"
},
{
@@ -35180,7 +35513,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L35",
"id": "db_auto_generate_plans_run_auto_generate_monthly_plans",
- "community": 74,
+ "community": 71,
"norm_label": "run_auto_generate_monthly_plans()"
},
{
@@ -35189,7 +35522,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L35",
"id": "app_services_db_auto_generate_plans_py_session",
- "community": 74,
+ "community": 71,
"norm_label": "session"
},
{
@@ -35198,7 +35531,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L35",
"id": "app_services_db_auto_generate_plans_py_bool",
- "community": 74,
+ "community": 71,
"norm_label": "bool"
},
{
@@ -35207,7 +35540,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L1",
"id": "db_auto_generate_plans_rationale_1",
- "community": 74,
+ "community": 71,
"norm_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"
},
{
@@ -35216,7 +35549,7 @@
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L41",
"id": "db_auto_generate_plans_rationale_41",
- "community": 74,
+ "community": 71,
"norm_label": "\u6309\u6708\u81ea\u52a8\u751f\u6210\u91c7\u8d2d\u8ba1\u5212\u3002 - \u9ed8\u8ba4\u4ec5\u5728\u6bcf\u6708 1 \u65e5\u6267\u884c(force=true \u65f6\u8df3\u8fc7\u8be5\u9650\u5236,\u4f9b\u624b\u52a8\u89e6\u53d1\u9a8c\u6536) - \u904d\u5386\u6240\u6709\u79df\u6237,\u6309\u4e0a\u6708\u8ba1\u5212\u6a21\u677f\u751f"
},
{
@@ -35234,7 +35567,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L1",
"id": "tests_test_delete_guard_py",
- "community": 65,
+ "community": 85,
"norm_label": "test_delete_guard.py"
},
{
@@ -35243,7 +35576,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L16",
"id": "tests_test_delete_guard_test_row_creator_id_from_object",
- "community": 65,
+ "community": 85,
"norm_label": "test_row_creator_id_from_object()"
},
{
@@ -35252,7 +35585,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L21",
"id": "tests_test_delete_guard_test_creator_can_delete",
- "community": 65,
+ "community": 85,
"norm_label": "test_creator_can_delete()"
},
{
@@ -35261,7 +35594,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L26",
"id": "tests_test_delete_guard_test_non_creator_cannot_delete",
- "community": 65,
+ "community": 85,
"norm_label": "test_non_creator_cannot_delete()"
},
{
@@ -35270,7 +35603,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L31",
"id": "tests_test_delete_guard_test_super_admin_can_delete_any",
- "community": 65,
+ "community": 85,
"norm_label": "test_super_admin_can_delete_any()"
},
{
@@ -35279,7 +35612,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L36",
"id": "tests_test_delete_guard_test_empty_create_by_only_super_admin",
- "community": 65,
+ "community": 85,
"norm_label": "test_empty_create_by_only_super_admin()"
},
{
@@ -35288,7 +35621,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L42",
"id": "tests_test_delete_guard_test_assert_raises_for_non_creator",
- "community": 65,
+ "community": 85,
"norm_label": "test_assert_raises_for_non_creator()"
},
{
@@ -35297,7 +35630,7 @@
"source_file": "tests/test_delete_guard.py",
"source_location": "L49",
"id": "tests_test_delete_guard_test_legacy_name_match",
- "community": 65,
+ "community": 85,
"norm_label": "test_legacy_name_match()"
},
{
@@ -35999,7 +36332,7 @@
"source_file": "scripts/run_db_auto_generate_plans.py",
"source_location": "L1",
"id": "scripts_run_db_auto_generate_plans_py",
- "community": 74,
+ "community": 71,
"norm_label": "run_db_auto_generate_plans.py"
},
{
@@ -36008,7 +36341,7 @@
"source_file": "scripts/run_db_auto_generate_plans.py",
"source_location": "L17",
"id": "scripts_run_db_auto_generate_plans_main",
- "community": 74,
+ "community": 71,
"norm_label": "main()"
},
{
@@ -36017,7 +36350,7 @@
"source_file": "scripts/run_db_auto_generate_plans.py",
"source_location": "L17",
"id": "scripts_run_db_auto_generate_plans_py_int",
- "community": 74,
+ "community": 71,
"norm_label": "int"
},
{
@@ -36026,7 +36359,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L1",
"id": "scripts_patch_pr3_api_py",
- "community": 55,
+ "community": 148,
"norm_label": "patch_pr3_api.py"
},
{
@@ -36035,7 +36368,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L11",
"id": "scripts_patch_pr3_api_inject_user_info_after_tenant",
- "community": 55,
+ "community": 148,
"norm_label": "_inject_user_info_after_tenant()"
},
{
@@ -36044,7 +36377,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L11",
"id": "scripts_patch_pr3_api_py_str",
- "community": 55,
+ "community": 148,
"norm_label": "str"
},
{
@@ -36053,7 +36386,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L23",
"id": "scripts_patch_pr3_api_patch_route_file",
- "community": 55,
+ "community": 148,
"norm_label": "patch_route_file()"
},
{
@@ -36062,7 +36395,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L23",
"id": "scripts_patch_pr3_api_py_path",
- "community": 55,
+ "community": 148,
"norm_label": "path"
},
{
@@ -36071,7 +36404,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L44",
"id": "scripts_patch_pr3_api_patch_crm_py_calls",
- "community": 55,
+ "community": 148,
"norm_label": "patch_crm_py_calls()"
},
{
@@ -36080,7 +36413,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L194",
"id": "scripts_patch_pr3_api_patch_quote_routes",
- "community": 55,
+ "community": 148,
"norm_label": "patch_quote_routes()"
},
{
@@ -36089,7 +36422,7 @@
"source_file": "scripts/patch_pr3_api.py",
"source_location": "L233",
"id": "scripts_patch_pr3_api_patch_contract_routes",
- "community": 55,
+ "community": 148,
"norm_label": "patch_contract_routes()"
},
{
@@ -36098,7 +36431,7 @@
"source_file": "scripts/patch_pr3_api_calls.py",
"source_location": "L1",
"id": "scripts_patch_pr3_api_calls_py",
- "community": 14,
+ "community": 118,
"norm_label": "patch_pr3_api_calls.py"
},
{
@@ -36107,7 +36440,7 @@
"source_file": "scripts/patch_pr3_api_calls.py",
"source_location": "L81",
"id": "scripts_patch_pr3_api_calls_add_user_info_kwarg",
- "community": 14,
+ "community": 118,
"norm_label": "_add_user_info_kwarg()"
},
{
@@ -36116,7 +36449,7 @@
"source_file": "scripts/patch_pr3_api_calls.py",
"source_location": "L81",
"id": "scripts_patch_pr3_api_calls_py_str",
- "community": 14,
+ "community": 118,
"norm_label": "str"
},
{
@@ -36125,7 +36458,7 @@
"source_file": "scripts/patch_pr3_api_calls.py",
"source_location": "L97",
"id": "scripts_patch_pr3_api_calls_patch_file",
- "community": 14,
+ "community": 118,
"norm_label": "patch_file()"
},
{
@@ -36299,6 +36632,177 @@
"community": 82,
"norm_label": "6. \u5e38\u89c1\u95ee\u9898"
},
+ {
+ "label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212\uff08\u5b8c\u6574\u8868\u5355\uff1a\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86\uff0c\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L446",
+ "community": 34,
+ "norm_label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212(\u5b8c\u6574\u8868\u5355:\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86,\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93)",
+ "id": "pl_plan_rationale_446"
+ },
+ {
+ "label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66\uff08\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e\uff0c\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L832",
+ "community": 13,
+ "norm_label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66(\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e,\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93)",
+ "id": "pl_plan_rationale_832"
+ },
+ {
+ "label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\uff08\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801\uff09\u3002",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L900",
+ "community": 13,
+ "norm_label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054(\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801)\u3002",
+ "id": "pl_plan_rationale_900"
+ },
+ {
+ "label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212\uff1a\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1014",
+ "community": 87,
+ "norm_label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212:\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002",
+ "id": "pl_plan_rationale_1014"
+ },
+ {
+ "label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 POYYYYMMDD###\uff08\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7\uff0c\u6bcf\u65e5\u91cd\u7f6e\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L79",
+ "community": 123,
+ "norm_label": "\u751f\u6210\u8ba1\u5212\u7f16\u53f7 poyyyymmdd###(\u5f53\u65e5 3 \u4f4d\u5e8f\u53f7,\u6bcf\u65e5\u91cd\u7f6e)",
+ "id": "pl_plan_rationale_79"
+ },
+ {
+ "label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a NO:SXFZYYYYMMDD-###",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L115",
+ "community": 15,
+ "norm_label": "\u5c06\u5386\u53f2\u5206\u88c5\u5355\u53f7\u7edf\u4e00\u4e3a no:sxfzyyyymmdd-###",
+ "id": "pl_plan_rationale_115"
+ },
+ {
+ "label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 NO:SXFZYYYYMMDD-###\uff08\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L148",
+ "community": 15,
+ "norm_label": "\u5206\u914d\u5206\u88c5\u5355\u53f7 no:sxfzyyyymmdd-###(\u6309\u79df\u6237\u6bcf\u65e5\u9012\u589e)",
+ "id": "pl_plan_rationale_148"
+ },
+ {
+ "label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212\uff08\u5b8c\u6574\u8868\u5355\uff1a\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86\uff0c\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L441",
+ "community": 34,
+ "norm_label": "\u521b\u5efa\u8fd0\u8f93\u8ba1\u5212(\u5b8c\u6574\u8868\u5355:\u5408\u540c\u4ea7\u54c1 + \u53ef\u9009\u9884\u9009\u8f66\u8f86,\u4e0d\u81ea\u52a8\u5b89\u6392\u8fd0\u8f93)",
+ "id": "pl_plan_rationale_441"
+ },
+ {
+ "label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66\uff08\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e\uff0c\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93\uff09",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L824",
+ "community": 13,
+ "norm_label": "\u66f4\u65b0\u8ba1\u5212\u5371\u5316\u54c1\u4ea7\u54c1\u8bc1\u4e66(\u8d2d\u4e70\u8bc1/\u8fd0\u8f93\u8bc1/\u5408\u6cd5\u4f7f\u7528\u8bc1\u660e,\u4e0d\u89e6\u53d1\u5b89\u6392\u8fd0\u8f93)",
+ "id": "pl_plan_rationale_824"
+ },
+ {
+ "label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054\uff08\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801\uff09\u3002",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L892",
+ "community": 13,
+ "norm_label": "\u83b7\u53d6\u8ba1\u5212\u5df2\u5b89\u6392\u8fd0\u8f93\u540e\u7684\u53f8\u673a\u94fe\u63a5\u4e0e\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054(\u4f9b\u67e5\u770b\u5f39\u7a97\u590d\u5236\u7b80\u8ff0/\u4e8c\u7ef4\u7801)\u3002",
+ "id": "pl_plan_rationale_892"
+ },
+ {
+ "label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212\uff1a\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002",
+ "file_type": "rationale",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1006",
+ "community": 87,
+ "norm_label": "\u4f5c\u5e9f\u8fd0\u8f93\u8ba1\u5212:\u53d6\u6d88\u8ddf\u8fdb\u72b6\u6001\u3001\u4f5c\u5e9f\u5173\u8054\u5730\u78c5\u51fa\u5165\u5e93\u5355\u3001\u53d6\u6d88\u8fd0\u8f93\u5355\u3002",
+ "id": "pl_plan_rationale_1006"
+ },
+ {
+ "label": "\u6279\u91cf\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L230",
+ "community": 10,
+ "norm_label": "\u6279\u91cf\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\u3002",
+ "id": "services_pl_plan_service_rationale_230"
+ },
+ {
+ "label": "\u4ece CRM \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6\uff08\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167\uff09\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L258",
+ "community": 10,
+ "norm_label": "\u4ece crm \u4ea7\u54c1\u4e3b\u6570\u636e\u8bfb\u53d6\u6613\u5236\u6bd2/\u6613\u5236\u7206\u6807\u8bc6(\u4e0d\u8bfb\u8ba1\u5212\u4ea7\u54c1\u5feb\u7167)\u3002",
+ "id": "services_pl_plan_service_rationale_258"
+ },
+ {
+ "label": "\u5199\u5165/\u66f4\u65b0\u8349\u7a3f\u8fd0\u8f93\u5355\uff08pl_transport + pl_plan_transport\uff09\uff0c\u8ba1\u5212\u4fdd\u6301\u5f85\u5b89\u6392\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L574",
+ "community": 10,
+ "norm_label": "\u5199\u5165/\u66f4\u65b0\u8349\u7a3f\u8fd0\u8f93\u5355(pl_transport + pl_plan_transport),\u8ba1\u5212\u4fdd\u6301\u5f85\u5b89\u6392\u3002",
+ "id": "services_pl_plan_service_rationale_574"
+ },
+ {
+ "label": "\u540c\u6b65\u8fd0\u8f93\u9884\u9009\u5230\u8349\u7a3f\u8fd0\u8f93\u5b50\u8868\uff08pl_transport\uff09\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L738",
+ "community": 10,
+ "norm_label": "\u540c\u6b65\u8fd0\u8f93\u9884\u9009\u5230\u8349\u7a3f\u8fd0\u8f93\u5b50\u8868(pl_transport)\u3002",
+ "id": "services_pl_plan_service_rationale_738"
+ },
+ {
+ "label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L313",
+ "community": 18,
+ "norm_label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6,\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
+ "id": "bx_reimburse_rationale_313"
+ },
+ {
+ "label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L378",
+ "community": 18,
+ "norm_label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c,\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217,\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
+ "id": "bx_reimburse_rationale_378"
+ },
+ {
+ "label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6\uff0c\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L335",
+ "community": 25,
+ "norm_label": "\u540c\u4e00\u8282\u70b9\u591a\u6b21\u5ba1\u6279\u65f6,\u53d6 approval_time \u6700\u65b0\u7684\u4e00\u6761\u4f5c\u4e3a\u5f53\u524d\u8282\u70b9\u72b6\u6001\u3002",
+ "id": "bx_advance_rationale_335"
+ },
+ {
+ "label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c\uff0c\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217\uff0c\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
+ "file_type": "rationale",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L400",
+ "community": 25,
+ "norm_label": "\u8fd4\u56de\u5168\u90e8\u5ba1\u6279\u52a8\u4f5c,\u6309\u65f6\u95f4\u6b63\u5e8f\u6392\u5217,\u7528\u4e8e\u5c55\u793a\u5b8c\u6574\u5ba1\u6279\u5386\u53f2\u3002",
+ "id": "bx_advance_rationale_400"
+ },
{
"label": "int",
"file_type": "code",
@@ -36313,7 +36817,7 @@
"file_type": "code",
"source_file": "app/api/public.py",
"source_location": "L79",
- "community": 41,
+ "community": 67,
"norm_label": "request",
"id": "request"
},
@@ -36322,7 +36826,7 @@
"file_type": "code",
"source_file": "app/services/db/auto_generate_plans.py",
"source_location": "L35",
- "community": 12,
+ "community": 3,
"norm_label": "session",
"id": "session"
},
@@ -36349,7 +36853,7 @@
"file_type": "code",
"source_file": "scripts/migrate_dibang_data.py",
"source_location": "L363",
- "community": 6,
+ "community": 29,
"norm_label": "bool",
"id": "bool"
},
@@ -36403,7 +36907,7 @@
"file_type": "code",
"source_file": "app/services/pl_freight_settlement_service.py",
"source_location": "L343",
- "community": 51,
+ "community": 10,
"norm_label": "decimal",
"id": "decimal"
},
@@ -36412,7 +36916,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 9,
+ "community": 7,
"norm_label": "float",
"id": "float"
},
@@ -36421,7 +36925,7 @@
"file_type": "code",
"source_file": "scripts/migrate_dibang_data.py",
"source_location": "L64",
- "community": 35,
+ "community": 15,
"norm_label": "date",
"id": "date"
},
@@ -36448,7 +36952,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L493",
- "community": 57,
+ "community": 7,
"norm_label": "\u8ba1\u5212-\u8fd0\u8f93\u5173\u8054\u8868 pl_plan_transport",
"id": "models_pl_models_rationale_493"
},
@@ -36484,7 +36988,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L606",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_606"
},
@@ -36502,7 +37006,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L653",
- "community": 19,
+ "community": 96,
"norm_label": "\u6c47\u6b3e\u51ed\u8bc1\u8868 pl_remittance_voucher",
"id": "models_pl_models_rationale_653"
},
@@ -36529,7 +37033,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L766",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_766"
},
@@ -36592,7 +37096,7 @@
"file_type": "code",
"source_file": "",
"source_location": "",
- "community": 90,
+ "community": 40,
"norm_label": "planresourcesnapshotmixin",
"id": "planresourcesnapshotmixin"
},
@@ -36601,7 +37105,7 @@
"file_type": "rationale",
"source_file": "app/api/pl/base_data.py",
"source_location": "L1",
- "community": 64,
+ "community": 49,
"norm_label": "\u8fd0\u8f93\u8ba1\u5212\u7ba1\u7406 - \u57fa\u7840\u6570\u636e api(\u627f\u8fd0\u5546\u3001\u8f66\u8f86\u3001\u4eba\u5458)",
"id": "pl_base_data_rationale_1"
},
@@ -36610,7 +37114,7 @@
"file_type": "rationale",
"source_file": "app/api/bx/__init__.py",
"source_location": "L1",
- "community": 108,
+ "community": 124,
"norm_label": "\u62a5\u9500(bx)api \u8def\u7531\u805a\u5408 \u2014 rest \u98ce\u683c,\u534f\u8bae\u5bf9\u9f50 bx \u539f\u7cfb\u7edf\u3002",
"id": "bx_init_rationale_1"
},
@@ -36619,7 +37123,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L1",
- "community": 56,
+ "community": 20,
"norm_label": "crm \u516c\u6d77\u6c60\u89c4\u5219 crud + \u89c4\u5219\u6267\u884c\u903b\u8f91",
"id": "crm_pool_rule_rationale_1"
},
@@ -36628,7 +37132,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1",
- "community": 5,
+ "community": 40,
"norm_label": "crm \u62a5\u4ef7\u5355 crud \u2014 \u5bf9\u7167 crmquoteserviceimpl.java(p2 \u5168\u91cf)",
"id": "crm_quote_rationale_1"
},
@@ -36682,7 +37186,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1",
- "community": 29,
+ "community": 46,
"norm_label": "crm \u5408\u540c crud \u2014 \u5bf9\u7167 crmcontractserviceimpl.java(\u5217\u8868/\u8be6\u60c5 p1)",
"id": "crm_contract_rationale_1"
},
@@ -36736,7 +37240,7 @@
"file_type": "code",
"source_file": "app/services/workflow_engine.py",
"source_location": "L39",
- "community": 124,
+ "community": 128,
"norm_label": "wfprocessinstance",
"id": "wfprocessinstance"
},
@@ -36754,7 +37258,7 @@
"file_type": "code",
"source_file": "app/crud/crm/contract.py",
"source_location": "L249",
- "community": 51,
+ "community": 17,
"norm_label": "query",
"id": "query"
},
@@ -36763,7 +37267,7 @@
"file_type": "code",
"source_file": "app/crud/crm/contract.py",
"source_location": "L48",
- "community": 51,
+ "community": 6,
"norm_label": "crmcontract",
"id": "crmcontract"
},
@@ -36799,7 +37303,7 @@
"file_type": "code",
"source_file": "app/services/pl_vehicle_maintenance_service.py",
"source_location": "L84",
- "community": 44,
+ "community": 11,
"norm_label": "dbusercontext",
"id": "dbusercontext"
},
@@ -36853,7 +37357,7 @@
"file_type": "code",
"source_file": "app/services/pl_site_link_read.py",
"source_location": "L13",
- "community": 15,
+ "community": 7,
"norm_label": "transportsitelinkread",
"id": "transportsitelinkread"
},
@@ -36862,7 +37366,7 @@
"file_type": "code",
"source_file": "app/services/pl_inventory_link_read.py",
"source_location": "L7",
- "community": 15,
+ "community": 7,
"norm_label": "transportinventorylinkread",
"id": "transportinventorylinkread"
},
@@ -37114,7 +37618,7 @@
"file_type": "code",
"source_file": "app/services/bx/workflow.py",
"source_location": "L28",
- "community": 30,
+ "community": 42,
"norm_label": "bxusercontext",
"id": "bxusercontext"
},
@@ -37141,7 +37645,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L101",
- "community": 71,
+ "community": 23,
"norm_label": "dbweighingslip",
"id": "dbweighingslip"
},
@@ -37150,7 +37654,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L153",
- "community": 71,
+ "community": 23,
"norm_label": "weighingslipread",
"id": "weighingslipread"
},
@@ -37159,7 +37663,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L64",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanwithfilllink",
"id": "purchaseplanwithfilllink"
},
@@ -37168,7 +37672,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 23,
+ "community": 127,
"norm_label": "purchaseplanread",
"id": "purchaseplanread"
},
@@ -37177,7 +37681,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 23,
+ "community": 127,
"norm_label": "dbpurchaseplan",
"id": "dbpurchaseplan"
},
@@ -37231,7 +37735,7 @@
"file_type": "code",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L30",
- "community": 19,
+ "community": 96,
"norm_label": "certread",
"id": "certread"
},
@@ -37501,7 +38005,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L49",
- "community": 9,
+ "community": 48,
"norm_label": "str",
"id": "app_api_pl_inventory_py_str"
},
@@ -37510,7 +38014,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L49",
- "community": 9,
+ "community": 48,
"norm_label": "int",
"id": "app_api_pl_inventory_py_int"
},
@@ -37519,7 +38023,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L49",
- "community": 9,
+ "community": 48,
"norm_label": "session",
"id": "app_api_pl_inventory_py_session"
},
@@ -37528,7 +38032,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L49",
- "community": 9,
+ "community": 48,
"norm_label": "dbusercontext",
"id": "app_api_pl_inventory_py_dbusercontext"
},
@@ -37537,7 +38041,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L49",
- "community": 9,
+ "community": 48,
"norm_label": "inventoryledgerresponse",
"id": "inventoryledgerresponse"
},
@@ -37546,7 +38050,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L80",
- "community": 9,
+ "community": 48,
"norm_label": "inventorywarningthreshold",
"id": "inventorywarningthreshold"
},
@@ -37555,7 +38059,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L129",
- "community": 9,
+ "community": 48,
"norm_label": "inventorywarningread",
"id": "inventorywarningread"
},
@@ -37564,7 +38068,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L148",
- "community": 9,
+ "community": 48,
"norm_label": "inventorywarningupdate",
"id": "inventorywarningupdate"
},
@@ -37573,7 +38077,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L188",
- "community": 9,
+ "community": 48,
"norm_label": "date",
"id": "app_api_pl_inventory_py_date"
},
@@ -37582,7 +38086,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L188",
- "community": 9,
+ "community": 48,
"norm_label": "inventorytransactionresponse",
"id": "inventorytransactionresponse"
},
@@ -37591,7 +38095,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L231",
- "community": 9,
+ "community": 48,
"norm_label": "inventorysummaryresponse",
"id": "inventorysummaryresponse"
},
@@ -37600,7 +38104,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L293",
- "community": 9,
+ "community": 48,
"norm_label": "documentreminderread",
"id": "documentreminderread"
},
@@ -37609,7 +38113,7 @@
"file_type": "code",
"source_file": "app/api/pl/inventory.py",
"source_location": "L315",
- "community": 9,
+ "community": 48,
"norm_label": "documentreminderupdate",
"id": "documentreminderupdate"
},
@@ -37726,7 +38230,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L326",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_326"
},
@@ -37780,7 +38284,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L573",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u8868 pl_freight_settlement",
"id": "models_pl_models_rationale_573"
},
@@ -37789,7 +38293,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L605",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_605"
},
@@ -37807,7 +38311,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L652",
- "community": 19,
+ "community": 96,
"norm_label": "\u6c47\u6b3e\u51ed\u8bc1\u8868 pl_remittance_voucher",
"id": "models_pl_models_rationale_652"
},
@@ -37933,7 +38437,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L325",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_325"
},
@@ -37996,7 +38500,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L604",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_604"
},
@@ -38041,7 +38545,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L764",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_764"
},
@@ -38149,7 +38653,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L323",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_323"
},
@@ -38176,7 +38680,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L489",
- "community": 7,
+ "community": 44,
"norm_label": "\u8ba1\u5212-\u8fd0\u8f93\u5173\u8054\u8868 pl_plan_transport",
"id": "models_pl_models_rationale_489"
},
@@ -38194,7 +38698,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L541",
- "community": 7,
+ "community": 44,
"norm_label": "\u8fd0\u8f93\u5ba1\u6279\u8bb0\u5f55\u8868 pl_transport_approval",
"id": "models_pl_models_rationale_541"
},
@@ -38212,7 +38716,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L602",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_602"
},
@@ -38221,7 +38725,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L629",
- "community": 19,
+ "community": 96,
"norm_label": "\u7ed3\u7b97\u5355-\u8fd0\u8f93\u5173\u8054\u8868 pl_freight_settlement_transport",
"id": "models_pl_models_rationale_629"
},
@@ -38257,7 +38761,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L762",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_762"
},
@@ -38383,7 +38887,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L160",
- "community": 19,
+ "community": 96,
"norm_label": "\u626b\u63cf pl_cert \u751f\u6210\u5230\u671f\u63d0\u9192,\u8fd4\u56de\u65b0\u5efa\u6761\u6570\u3002",
"id": "services_pl_cert_service_rationale_160"
},
@@ -38392,7 +38896,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L431",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_431"
},
@@ -38473,7 +38977,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L536",
- "community": 7,
+ "community": 44,
"norm_label": "\u8fd0\u8f93\u5ba1\u6279\u8bb0\u5f55\u8868 pl_transport_approval",
"id": "models_pl_models_rationale_536"
},
@@ -38482,7 +38986,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L565",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u8868 pl_freight_settlement",
"id": "models_pl_models_rationale_565"
},
@@ -38491,7 +38995,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L597",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_597"
},
@@ -38581,7 +39085,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L889",
- "community": 11,
+ "community": 0,
"norm_label": "\u8f66\u8f86\u5c3f\u7d20\u53d1\u653e\u767b\u8bb0 pl_vehicle_urea_disburse",
"id": "models_pl_models_rationale_889"
},
@@ -38680,7 +39184,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L132",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_132"
},
@@ -38707,7 +39211,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L294",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_294"
},
@@ -38779,7 +39283,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L733",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_733"
},
@@ -38824,7 +39328,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L290",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_290"
},
@@ -38842,7 +39346,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L434",
- "community": 15,
+ "community": 44,
"norm_label": "\u8fd0\u8f93-\u5730\u78c5\u51fa\u5165\u5e93\u5173\u8054 pl_transport_db_link",
"id": "models_pl_models_rationale_434"
},
@@ -38878,7 +39382,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L569",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_569"
},
@@ -38923,7 +39427,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L729",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_729"
},
@@ -39337,7 +39841,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3094",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_3094"
},
@@ -39364,7 +39868,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3177",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_3177"
},
@@ -39400,7 +39904,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3311",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3311"
},
@@ -39409,7 +39913,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L288",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_288"
},
@@ -39499,7 +40003,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L725",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_725"
},
@@ -39607,7 +40111,7 @@
"file_type": "code",
"source_file": "app/services/pl_plan_service.py",
"source_location": "L119",
- "community": 7,
+ "community": 10,
"norm_label": "resolve_vehicle_personnel_summary()",
"id": "services_pl_plan_service_resolve_vehicle_personnel_summary"
},
@@ -39616,7 +40120,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_plan_service.py",
"source_location": "L124",
- "community": 7,
+ "community": 10,
"norm_label": "\u8bfb\u53d6\u8f66\u8f86\u5f53\u524d\u5173\u8054\u4eba\u5458\u6458\u8981,\u7528\u4e8e\u5b89\u6392\u8fd0\u8f93\u65f6\u5feb\u7167\u5230\u8ba1\u5212\u3002",
"id": "services_pl_plan_service_rationale_124"
},
@@ -39643,7 +40147,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L287",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_287"
},
@@ -39670,7 +40174,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L451",
- "community": 7,
+ "community": 44,
"norm_label": "\u8ba1\u5212-\u8fd0\u8f93\u5173\u8054\u8868 pl_plan_transport",
"id": "models_pl_models_rationale_451"
},
@@ -39688,7 +40192,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L564",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_564"
},
@@ -39733,7 +40237,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L724",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_724"
},
@@ -39931,7 +40435,7 @@
"file_type": "rationale",
"source_file": "app/core/database.py",
"source_location": "L36",
- "community": 152,
+ "community": 129,
"norm_label": "orm before_insert \u94a9\u5b50:\u5f53 create_dept_id \u4e3a\u7a7a\u65f6,\u81ea\u52a8\u4ece\u8bf7\u6c42\u4e0a\u4e0b\u6587\u586b\u5145\u5f53\u524d\u7528\u6237\u90e8\u95e8 id",
"id": "core_database_rationale_36"
},
@@ -39985,7 +40489,7 @@
"file_type": "rationale",
"source_file": "app/core/database.py",
"source_location": "L31",
- "community": 152,
+ "community": 129,
"norm_label": "orm before_insert \u94a9\u5b50:\u5f53 create_dept_id \u4e3a\u7a7a\u65f6,\u81ea\u52a8\u4ece\u8bf7\u6c42\u4e0a\u4e0b\u6587\u586b\u5145\u5f53\u524d\u7528\u6237\u90e8\u95e8 id",
"id": "core_database_rationale_31"
},
@@ -40075,7 +40579,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L131",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_131"
},
@@ -40102,7 +40606,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L286",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_286"
},
@@ -40138,7 +40642,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L502",
- "community": 7,
+ "community": 44,
"norm_label": "\u8fd0\u8f93\u5ba1\u6279\u8bb0\u5f55\u8868 pl_transport_approval",
"id": "models_pl_models_rationale_502"
},
@@ -40156,7 +40660,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L563",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_563"
},
@@ -40201,7 +40705,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L723",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_723"
},
@@ -40237,7 +40741,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L828",
- "community": 11,
+ "community": 0,
"norm_label": "\u8f66\u8f86\u5c3f\u7d20\u7533\u8bf7 pl_vehicle_urea_apply",
"id": "models_pl_models_rationale_828"
},
@@ -40354,7 +40858,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L198",
- "community": 36,
+ "community": 67,
"norm_label": "\u767b\u51fa:\u540a\u9500 redis \u4f1a\u8bdd(\u82e5\u5df2\u914d\u7f6e redis_host)\u3002",
"id": "api_public_rationale_198"
},
@@ -40363,7 +40867,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L217",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u4fe1\u606f(\u4e0e sys_user \u5b57\u6bb5\u5bf9\u5e94)\u3002",
"id": "api_public_rationale_217"
},
@@ -40372,7 +40876,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L250",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u83dc\u5355\u6743\u9650\u6807\u8bc6(sys_menu.perms,\u7ecf\u89d2\u8272\u7ee7\u627f)\u3002",
"id": "api_public_rationale_250"
},
@@ -40381,7 +40885,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L292",
- "community": 12,
+ "community": 130,
"norm_label": "\u516c\u5f00\u5206\u4eab\u67e5\u770b\u62a5\u4ef7\u5355 \u2014 java: get /share/{sharecode}(\u65e0 jwt)",
"id": "api_public_rationale_292"
},
@@ -40399,7 +40903,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3084",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_3084"
},
@@ -40408,7 +40912,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3119",
- "community": 33,
+ "community": 60,
"norm_label": "\u4f9b\u65b9\u5168\u91cf\u5217\u8868(\u4e0b\u62c9)\u2014 java: crmsupplierinfocontroller.listall",
"id": "api_crm_rationale_3119"
},
@@ -40426,7 +40930,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3167",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_3167"
},
@@ -40462,7 +40966,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3301",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3301"
},
@@ -40525,7 +41029,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L123",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_123"
},
@@ -40552,7 +41056,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L278",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_278"
},
@@ -40606,7 +41110,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L555",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_555"
},
@@ -40642,7 +41146,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L715",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_715"
},
@@ -40651,7 +41155,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L137",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_137"
},
@@ -40678,7 +41182,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L292",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_292"
},
@@ -40696,7 +41200,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L136",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_136"
},
@@ -40723,7 +41227,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L291",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_291"
},
@@ -40777,7 +41281,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L568",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_568"
},
@@ -40795,7 +41299,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L615",
- "community": 19,
+ "community": 96,
"norm_label": "\u6c47\u6b3e\u51ed\u8bc1\u8868 pl_remittance_voucher",
"id": "models_pl_models_rationale_615"
},
@@ -40813,7 +41317,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L728",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_728"
},
@@ -40822,7 +41326,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L67",
- "community": 19,
+ "community": 96,
"norm_label": "\u6309 cert_id upsert;\u672a\u51fa\u73b0\u5728\u5217\u8868\u4e2d\u7684\u65e7\u8bc1\u8f6f\u5220\u3002",
"id": "services_pl_cert_service_rationale_67"
},
@@ -40831,7 +41335,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L157",
- "community": 19,
+ "community": 96,
"norm_label": "\u626b\u63cf pl_cert \u751f\u6210\u5230\u671f\u63d0\u9192,\u8fd4\u56de\u65b0\u5efa\u6761\u6570\u3002",
"id": "services_pl_cert_service_rationale_157"
},
@@ -40840,7 +41344,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L127",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_127"
},
@@ -40867,7 +41371,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L282",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_282"
},
@@ -40930,7 +41434,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L559",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_559"
},
@@ -40966,7 +41470,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L719",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_719"
},
@@ -41002,7 +41506,7 @@
"file_type": "rationale",
"source_file": "app/crud/dept.py",
"source_location": "L42",
- "community": 85,
+ "community": 112,
"norm_label": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7,\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002",
"id": "crud_dept_rationale_42"
},
@@ -41038,7 +41542,7 @@
"file_type": "rationale",
"source_file": "app/crud/dept.py",
"source_location": "L41",
- "community": 85,
+ "community": 112,
"norm_label": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7,\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002",
"id": "crud_dept_rationale_41"
},
@@ -41047,7 +41551,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L123",
- "community": 5,
+ "community": 64,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_quote_rationale_123"
},
@@ -41056,7 +41560,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L184",
- "community": 5,
+ "community": 56,
"norm_label": "java: buildquerywrapper",
"id": "crm_quote_rationale_184"
},
@@ -41065,7 +41569,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L309",
- "community": 5,
+ "community": 137,
"norm_label": "java: fillcontractlinkedcount",
"id": "crm_quote_rationale_309"
},
@@ -41074,7 +41578,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L334",
- "community": 5,
+ "community": 56,
"norm_label": "java: calculateamount",
"id": "crm_quote_rationale_334"
},
@@ -41083,7 +41587,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L363",
- "community": 5,
+ "community": 56,
"norm_label": "java: resolvequoteproductids",
"id": "crm_quote_rationale_363"
},
@@ -41092,7 +41596,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L384",
- "community": 5,
+ "community": 56,
"norm_label": "java: generatequoteno \u2014 {\u4f9b\u65b9\u7f16\u7801}dd-yyyymmdd + 3\u4f4d\u5e8f\u53f7",
"id": "crm_quote_rationale_384"
},
@@ -41110,7 +41614,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L949",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_949"
},
@@ -41119,7 +41623,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1049",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_1049"
},
@@ -41128,7 +41632,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1113",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1113"
},
@@ -41137,7 +41641,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1212",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1212"
},
@@ -41146,7 +41650,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1263",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1263"
},
@@ -41164,7 +41668,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1364",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1364"
},
@@ -41371,7 +41875,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L168",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_168"
},
@@ -41380,7 +41884,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L255",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_255"
},
@@ -41407,7 +41911,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1059",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_1059"
},
@@ -41416,7 +41920,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1099",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_1099"
},
@@ -41434,7 +41938,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1221",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1221"
},
@@ -41470,7 +41974,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1999",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1999"
},
@@ -41551,7 +42055,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L253",
- "community": 23,
+ "community": 127,
"norm_label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210(\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91)\u3002",
"id": "db_plans_rationale_253"
},
@@ -41560,7 +42064,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L429",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_429"
},
@@ -41614,7 +42118,7 @@
"file_type": "rationale",
"source_file": "app/api/workflow.py",
"source_location": "L135",
- "community": 2,
+ "community": 76,
"norm_label": "\u5ba1\u6279\u610f\u89c1:\u524d\u7aef\u4f20 commenttext,\u517c\u5bb9 comment\u3002",
"id": "api_workflow_rationale_135"
},
@@ -41623,7 +42127,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L251",
- "community": 23,
+ "community": 127,
"norm_label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210(\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91)\u3002",
"id": "db_plans_rationale_251"
},
@@ -41632,7 +42136,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L424",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_424"
},
@@ -41803,7 +42307,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L105",
- "community": 5,
+ "community": 64,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_quote_rationale_105"
},
@@ -41812,7 +42316,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L166",
- "community": 5,
+ "community": 56,
"norm_label": "java: buildquerywrapper",
"id": "crm_quote_rationale_166"
},
@@ -41821,7 +42325,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L291",
- "community": 5,
+ "community": 137,
"norm_label": "java: fillcontractlinkedcount",
"id": "crm_quote_rationale_291"
},
@@ -41830,7 +42334,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L316",
- "community": 5,
+ "community": 56,
"norm_label": "java: calculateamount",
"id": "crm_quote_rationale_316"
},
@@ -41839,7 +42343,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L345",
- "community": 5,
+ "community": 56,
"norm_label": "java: resolvequoteproductids",
"id": "crm_quote_rationale_345"
},
@@ -41848,7 +42352,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L366",
- "community": 5,
+ "community": 56,
"norm_label": "java: generatequoteno \u2014 {\u4f9b\u65b9\u7f16\u7801}dd-yyyymmdd + 3\u4f4d\u5e8f\u53f7",
"id": "crm_quote_rationale_366"
},
@@ -41866,7 +42370,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L919",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_919"
},
@@ -41875,7 +42379,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1016",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_1016"
},
@@ -41884,7 +42388,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1079",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1079"
},
@@ -41893,7 +42397,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1176",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1176"
},
@@ -41902,7 +42406,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1225",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1225"
},
@@ -41920,7 +42424,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1330",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1330"
},
@@ -42028,7 +42532,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L48",
- "community": 5,
+ "community": 33,
"norm_label": "java: querylistbyquoteid(\u542b\u5ba1\u6279\u4eba\u6635\u79f0)",
"id": "crm_quote_approval_rationale_48"
},
@@ -42037,7 +42541,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L87",
- "community": 5,
+ "community": 33,
"norm_label": "java: createapprovalrecords",
"id": "crm_quote_approval_rationale_87"
},
@@ -42046,7 +42550,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L189",
- "community": 5,
+ "community": 33,
"norm_label": "java: crmquoteapprovalserviceimpl.withdrawapproval(\u4e0d\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_approval_rationale_189"
},
@@ -42055,7 +42559,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L213",
- "community": 5,
+ "community": 33,
"norm_label": "java: deletependingapprovals",
"id": "crm_quote_approval_rationale_213"
},
@@ -42064,7 +42568,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L232",
- "community": 5,
+ "community": 33,
"norm_label": "java: refreshapprovernames",
"id": "crm_quote_approval_rationale_232"
},
@@ -42163,7 +42667,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L148",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_148"
},
@@ -42172,7 +42676,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L235",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_235"
},
@@ -42199,7 +42703,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1030",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_1030"
},
@@ -42208,7 +42712,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1070",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_1070"
},
@@ -42226,7 +42730,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1189",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1189"
},
@@ -42262,7 +42766,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1941",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1941"
},
@@ -42316,7 +42820,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3044",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_3044"
},
@@ -42361,7 +42865,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3244",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3244"
},
@@ -42370,7 +42874,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2983",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2983"
},
@@ -42397,7 +42901,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3058",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_3058"
},
@@ -42433,7 +42937,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3183",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3183"
},
@@ -42487,7 +42991,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2919",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2919"
},
@@ -42514,7 +43018,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2994",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2994"
},
@@ -42550,7 +43054,7 @@
"file_type": "rationale",
"source_file": "app/core/db_auth.py",
"source_location": "L55",
- "community": 31,
+ "community": 129,
"norm_label": "\u6709 bearer \u4e14\u4e3a admin/super_admin \u65f6\u8fd4\u56de\u4e0a\u4e0b\u6587,\u5426\u5219 none(\u4f9b\u4e09\u65b9 h5 \u65e0\u767b\u5f55\u8c03\u7528)\u3002",
"id": "core_db_auth_rationale_55"
},
@@ -42586,7 +43090,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L554",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_554"
},
@@ -42631,7 +43135,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L714",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_714"
},
@@ -42685,7 +43189,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L122",
- "community": 15,
+ "community": 7,
"norm_label": "\u53f8\u673a\u8868 pl_driver(\u517c\u5bb9\u65e7\u8868,\u8fc1\u79fb\u540e\u9010\u6b65\u5e9f\u5f03)",
"id": "models_pl_models_rationale_122"
},
@@ -42712,7 +43216,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L277",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_277"
},
@@ -42748,7 +43252,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L522",
- "community": 44,
+ "community": 57,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u8868 pl_freight_settlement",
"id": "models_pl_models_rationale_522"
},
@@ -42757,7 +43261,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L553",
- "community": 44,
+ "community": 32,
"norm_label": "\u8fd0\u8d39\u7ed3\u7b97\u5ba1\u6279 pl_freight_settlement_approval",
"id": "models_pl_models_rationale_553"
},
@@ -42793,7 +43297,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L686",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_686"
},
@@ -43090,7 +43594,7 @@
"file_type": "rationale",
"source_file": "app/core/attachment_biz.py",
"source_location": "L20",
- "community": 112,
+ "community": 22,
"norm_label": "\u4f18\u5148\u4f7f\u7528\u663e\u5f0f folder;\u5426\u5219\u6309 biztype \u6620\u5c04\u9ed8\u8ba4\u76ee\u5f55\u3002",
"id": "core_attachment_biz_rationale_20"
},
@@ -43234,7 +43738,7 @@
"file_type": "code",
"source_file": "app/models/db_models.py",
"source_location": "L9",
- "community": 39,
+ "community": 27,
"norm_label": "dbvehicle",
"id": "models_db_models_dbvehicle"
},
@@ -43324,7 +43828,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 39,
+ "community": 127,
"norm_label": "vehicle_to_read()",
"id": "db_mappers_vehicle_to_read"
},
@@ -43333,7 +43837,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 39,
+ "community": 127,
"norm_label": "dbvehicle",
"id": "app_services_db_mappers_py_dbvehicle"
},
@@ -43342,7 +43846,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 39,
+ "community": 127,
"norm_label": "vehicleread",
"id": "app_services_db_mappers_py_vehicleread"
},
@@ -43576,7 +44080,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L283",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_283"
},
@@ -43594,7 +44098,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L635",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_635"
},
@@ -43828,7 +44332,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L271",
- "community": 15,
+ "community": 22,
"norm_label": "\u8ba1\u5212\u4ea7\u54c1\u660e\u7ec6\u8868 pl_plan_product",
"id": "models_pl_models_rationale_271"
},
@@ -43882,7 +44386,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L61",
- "community": 19,
+ "community": 96,
"norm_label": "\u6309 cert_id upsert;\u672a\u51fa\u73b0\u5728\u5217\u8868\u4e2d\u7684\u65e7\u8bc1\u8f6f\u5220\u3002",
"id": "services_pl_cert_service_rationale_61"
},
@@ -43891,7 +44395,7 @@
"file_type": "rationale",
"source_file": "app/services/pl_cert_service.py",
"source_location": "L150",
- "community": 19,
+ "community": 96,
"norm_label": "\u626b\u63cf pl_cert \u751f\u6210\u5230\u671f\u63d0\u9192,\u8fd4\u56de\u65b0\u5efa\u6761\u6570\u3002",
"id": "services_pl_cert_service_rationale_150"
},
@@ -43900,7 +44404,7 @@
"file_type": "code",
"source_file": "app/services/db/mappers.py",
"source_location": "L35",
- "community": 39,
+ "community": 27,
"norm_label": "dbvehicle",
"id": "dbvehicle"
},
@@ -43954,7 +44458,7 @@
"file_type": "rationale",
"source_file": "app/models/pl_models.py",
"source_location": "L547",
- "community": 19,
+ "community": 96,
"norm_label": "\u8bc1\u4ef6\u5230\u671f\u63d0\u9192\u8868 pl_document_reminder",
"id": "models_pl_models_rationale_547"
},
@@ -43963,7 +44467,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L150",
- "community": 9,
+ "community": 48,
"norm_label": "carrierbase",
"id": "pl_init_carrierbase"
},
@@ -43972,7 +44476,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L158",
- "community": 9,
+ "community": 48,
"norm_label": "carriercreate",
"id": "pl_init_carriercreate"
},
@@ -43981,7 +44485,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L162",
- "community": 9,
+ "community": 48,
"norm_label": "carrierupdate",
"id": "pl_init_carrierupdate"
},
@@ -43990,7 +44494,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L171",
- "community": 9,
+ "community": 48,
"norm_label": "carrierread",
"id": "pl_init_carrierread"
},
@@ -43999,7 +44503,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L189",
- "community": 9,
+ "community": 48,
"norm_label": "vehiclebase",
"id": "pl_init_vehiclebase"
},
@@ -44008,7 +44512,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L201",
- "community": 9,
+ "community": 48,
"norm_label": "vehiclecreate",
"id": "pl_init_vehiclecreate"
},
@@ -44017,7 +44521,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L205",
- "community": 9,
+ "community": 48,
"norm_label": "vehicleupdate",
"id": "pl_init_vehicleupdate"
},
@@ -44026,7 +44530,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L218",
- "community": 9,
+ "community": 48,
"norm_label": "vehicleread",
"id": "pl_init_vehicleread"
},
@@ -44035,7 +44539,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L236",
- "community": 9,
+ "community": 48,
"norm_label": "driverbase",
"id": "pl_init_driverbase"
},
@@ -44044,7 +44548,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L249",
- "community": 9,
+ "community": 48,
"norm_label": "drivercreate",
"id": "pl_init_drivercreate"
},
@@ -44053,7 +44557,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L253",
- "community": 9,
+ "community": 48,
"norm_label": "driverupdate",
"id": "pl_init_driverupdate"
},
@@ -44062,7 +44566,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L267",
- "community": 9,
+ "community": 48,
"norm_label": "driverread",
"id": "pl_init_driverread"
},
@@ -44071,7 +44575,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L285",
- "community": 9,
+ "community": 48,
"norm_label": "vehicledrivercreate",
"id": "pl_init_vehicledrivercreate"
},
@@ -44080,7 +44584,7 @@
"file_type": "code",
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L292",
- "community": 9,
+ "community": 48,
"norm_label": "vehicledriverread",
"id": "pl_init_vehicledriverread"
},
@@ -44143,7 +44647,7 @@
"file_type": "code",
"source_file": "app/api/pl/transport.py",
"source_location": "L352",
- "community": 9,
+ "community": 7,
"norm_label": "config",
"id": "pl_transport_config"
},
@@ -44170,7 +44674,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L246",
- "community": 23,
+ "community": 127,
"norm_label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210(\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91)\u3002",
"id": "db_plans_rationale_246"
},
@@ -44179,7 +44683,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L402",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_402"
},
@@ -44206,7 +44710,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L230",
- "community": 23,
+ "community": 127,
"norm_label": "\u624b\u52a8\u89e6\u53d1\u8ba1\u5212\u6309\u6708\u81ea\u52a8\u751f\u6210(\u5b9a\u65f6\u4efb\u52a1\u540c\u6b3e\u903b\u8f91)\u3002",
"id": "db_plans_rationale_230"
},
@@ -44215,7 +44719,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L386",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_386"
},
@@ -44233,7 +44737,7 @@
"file_type": "rationale",
"source_file": "app/api/db/plans.py",
"source_location": "L365",
- "community": 23,
+ "community": 127,
"norm_label": "\u4e09\u65b9 h5 \u586b\u5199\u9875\u521d\u59cb\u5316\u6570\u636e(\u65e0\u9700\u95e8\u6237\u767b\u5f55,\u4e0e\u539f\u7cfb\u7edf\u4e00\u81f4)\u3002",
"id": "db_plans_rationale_365"
},
@@ -44242,7 +44746,7 @@
"file_type": "rationale",
"source_file": "app/core/db_auth.py",
"source_location": "L14",
- "community": 4,
+ "community": 11,
"norm_label": "db router/service \u4f7f\u7528\u7684\u5f53\u524d\u7528\u6237\u4e0a\u4e0b\u6587\u3002",
"id": "core_db_auth_rationale_14"
},
@@ -44332,7 +44836,7 @@
"file_type": "rationale",
"source_file": "app/api/bx/__init__.py",
"source_location": "L17",
- "community": 108,
+ "community": 124,
"norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002",
"id": "bx_init_rationale_17"
},
@@ -44341,7 +44845,7 @@
"file_type": "rationale",
"source_file": "app/api/bx/__init__.py",
"source_location": "L16",
- "community": 108,
+ "community": 124,
"norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002",
"id": "bx_init_rationale_16"
},
@@ -44350,7 +44854,7 @@
"file_type": "rationale",
"source_file": "app/core/attachment_biz.py",
"source_location": "L17",
- "community": 112,
+ "community": 22,
"norm_label": "\u4f18\u5148\u4f7f\u7528\u663e\u5f0f folder;\u5426\u5219\u6309 biztype \u6620\u5c04\u9ed8\u8ba4\u76ee\u5f55\u3002",
"id": "core_attachment_biz_rationale_17"
},
@@ -44359,7 +44863,7 @@
"file_type": "rationale",
"source_file": "app/api/bx/__init__.py",
"source_location": "L14",
- "community": 108,
+ "community": 124,
"norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002",
"id": "bx_init_rationale_14"
},
@@ -44368,7 +44872,7 @@
"file_type": "rationale",
"source_file": "app/api/bx/__init__.py",
"source_location": "L11",
- "community": 108,
+ "community": 124,
"norm_label": "p0 \u5065\u5eb7\u68c0\u67e5:\u9a8c\u8bc1 bx \u8def\u7531\u5df2\u6302\u8f7d\u4e14\u54cd\u5e94\u534f\u8bae\u4e3a code=0\u3002",
"id": "bx_init_rationale_11"
},
@@ -44395,7 +44899,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L268",
- "community": 5,
+ "community": 137,
"norm_label": "java: fillcontractlinkedcount",
"id": "crm_quote_rationale_268"
},
@@ -44404,7 +44908,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L293",
- "community": 5,
+ "community": 56,
"norm_label": "java: calculateamount",
"id": "crm_quote_rationale_293"
},
@@ -44413,7 +44917,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L322",
- "community": 5,
+ "community": 56,
"norm_label": "java: resolvequoteproductids",
"id": "crm_quote_rationale_322"
},
@@ -44422,7 +44926,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L343",
- "community": 5,
+ "community": 56,
"norm_label": "java: generatequoteno \u2014 {\u4f9b\u65b9\u7f16\u7801}dd-yyyymmdd + 3\u4f4d\u5e8f\u53f7",
"id": "crm_quote_rationale_343"
},
@@ -44440,7 +44944,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L896",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_896"
},
@@ -44449,7 +44953,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L993",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_993"
},
@@ -44458,7 +44962,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1056",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1056"
},
@@ -44467,7 +44971,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1153",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1153"
},
@@ -44476,7 +44980,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1202",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1202"
},
@@ -44494,7 +44998,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1307",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1307"
},
@@ -44503,7 +45007,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2916",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2916"
},
@@ -44530,7 +45034,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2991",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2991"
},
@@ -44557,7 +45061,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3116",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3116"
},
@@ -44575,7 +45079,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L900",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_900"
},
@@ -44584,7 +45088,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L997",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_997"
},
@@ -44593,7 +45097,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1060",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1060"
},
@@ -44602,7 +45106,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1157",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1157"
},
@@ -44611,7 +45115,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1206",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1206"
},
@@ -44629,7 +45133,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1311",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1311"
},
@@ -44647,7 +45151,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L890",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_890"
},
@@ -44656,7 +45160,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L987",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_987"
},
@@ -44665,7 +45169,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1050",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1050"
},
@@ -44674,7 +45178,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1147",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1147"
},
@@ -44683,7 +45187,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1196",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1196"
},
@@ -44701,7 +45205,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1301",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1301"
},
@@ -44719,7 +45223,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L889",
- "community": 89,
+ "community": 64,
"norm_label": "java: viewbysharecode",
"id": "crm_quote_rationale_889"
},
@@ -44728,7 +45232,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L986",
- "community": 5,
+ "community": 119,
"norm_label": "java: tocontract \u2014 \u8fd4\u56de contractid",
"id": "crm_quote_rationale_986"
},
@@ -44737,7 +45241,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1146",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1146"
},
@@ -44746,7 +45250,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1195",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1195"
},
@@ -44764,7 +45268,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1300",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1300"
},
@@ -44773,7 +45277,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L80",
- "community": 5,
+ "community": 33,
"norm_label": "java: createapprovalrecords",
"id": "crm_quote_approval_rationale_80"
},
@@ -44782,7 +45286,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote_approval.py",
"source_location": "L172",
- "community": 5,
+ "community": 33,
"norm_label": "java: crmquoteapprovalserviceimpl.withdrawapproval(\u4e0d\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_approval_rationale_172"
},
@@ -44881,7 +45385,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2908",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2908"
},
@@ -44935,7 +45439,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3108",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3108"
},
@@ -44980,7 +45484,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2911",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2911"
},
@@ -45007,7 +45511,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2986",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2986"
},
@@ -45043,7 +45547,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3111",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3111"
},
@@ -45070,7 +45574,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1032",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_1032"
},
@@ -45079,7 +45583,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1072",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_1072"
},
@@ -45097,7 +45601,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1191",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1191"
},
@@ -45133,7 +45637,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1943",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1943"
},
@@ -45295,7 +45799,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1025",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_1025"
},
@@ -45304,7 +45808,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1065",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_1065"
},
@@ -45322,7 +45826,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1184",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1184"
},
@@ -45358,7 +45862,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1936",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1936"
},
@@ -45412,7 +45916,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2910",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2910"
},
@@ -45439,7 +45943,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2985",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2985"
},
@@ -45475,7 +45979,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3110",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3110"
},
@@ -45484,7 +45988,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L137",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_137"
},
@@ -45493,7 +45997,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L224",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_224"
},
@@ -45520,7 +46024,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1000",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_1000"
},
@@ -45529,7 +46033,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1040",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_1040"
},
@@ -45547,7 +46051,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1159",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1159"
},
@@ -45583,7 +46087,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1911",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1911"
},
@@ -45628,7 +46132,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2925",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2925"
},
@@ -45655,7 +46159,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3000",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_3000"
},
@@ -45691,7 +46195,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3125",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3125"
},
@@ -45736,7 +46240,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L113",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_113"
},
@@ -45745,7 +46249,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L200",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_200"
},
@@ -45772,7 +46276,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L876",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_876"
},
@@ -45781,7 +46285,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L916",
- "community": 51,
+ "community": 19,
"norm_label": "java: validateframeworkcontractforsubmitapproval",
"id": "crm_contract_rationale_916"
},
@@ -45799,7 +46303,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1035",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_1035"
},
@@ -45835,7 +46339,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1787",
- "community": 6,
+ "community": 126,
"norm_label": "java: createfromopportunity \u2014 \u8fd4\u56de\u5408\u540c id",
"id": "crm_contract_rationale_1787"
},
@@ -45871,7 +46375,7 @@
"file_type": "rationale",
"source_file": "app/api/admin.py",
"source_location": "L45",
- "community": 12,
+ "community": 130,
"norm_label": "\u8fd4\u56de\u8fd0\u8425\u7aef\u89d2\u8272\u4e0b\u62c9\u9009\u9879(label=\u5e93\u4e2d\u89d2\u8272\u540d,value=web \u89d2\u8272\u7801)\u3002",
"id": "api_admin_rationale_45"
},
@@ -45907,7 +46411,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L111",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_111"
},
@@ -45916,7 +46420,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L198",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_198"
},
@@ -45943,7 +46447,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L874",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids \u2014 \u8f6f\u5220\u9664",
"id": "crm_contract_rationale_874"
},
@@ -45961,7 +46465,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L964",
- "community": 52,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_964"
},
@@ -46006,7 +46510,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1018",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1018"
},
@@ -46015,7 +46519,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1164",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1164"
},
@@ -46033,7 +46537,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1269",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1269"
},
@@ -46042,7 +46546,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L88",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_88"
},
@@ -46051,7 +46555,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L175",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_175"
},
@@ -46087,7 +46591,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L146",
- "community": 29,
+ "community": 46,
"norm_label": "contractstatuschangebody",
"id": "crm_contract_contractstatuschangebody"
},
@@ -46096,7 +46600,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L174",
- "community": 29,
+ "community": 46,
"norm_label": "contracttemplategetbody",
"id": "crm_contract_contracttemplategetbody"
},
@@ -46105,7 +46609,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L178",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovallistbody",
"id": "crm_contract_contractapprovallistbody"
},
@@ -46114,7 +46618,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L182",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalapprovebody",
"id": "crm_contract_contractapprovalapprovebody"
},
@@ -46123,7 +46627,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L190",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalbycontractbody",
"id": "crm_contract_contractapprovalbycontractbody"
},
@@ -46132,7 +46636,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L204",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalwithdrawbody",
"id": "crm_contract_contractapprovalwithdrawbody"
},
@@ -46141,7 +46645,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L213",
- "community": 29,
+ "community": 46,
"norm_label": "contractstatisticsoverviewbody",
"id": "crm_contract_contractstatisticsoverviewbody"
},
@@ -46150,7 +46654,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L219",
- "community": 29,
+ "community": 46,
"norm_label": "contractapprovalpagelistbody",
"id": "crm_contract_contractapprovalpagelistbody"
},
@@ -46168,7 +46672,7 @@
"file_type": "rationale",
"source_file": "app/schemas/crm/contract.py",
"source_location": "L220",
- "community": 29,
+ "community": 46,
"norm_label": "\u5168\u5c40\u5ba1\u6279\u8bb0\u5f55\u5206\u9875(approval/index.vue)",
"id": "crm_contract_rationale_220"
},
@@ -46348,7 +46852,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L106",
- "community": 5,
+ "community": 64,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_quote_rationale_106"
},
@@ -46357,7 +46861,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L167",
- "community": 5,
+ "community": 56,
"norm_label": "java: buildquerywrapper",
"id": "crm_quote_rationale_167"
},
@@ -46366,7 +46870,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L269",
- "community": 5,
+ "community": 137,
"norm_label": "java: fillcontractlinkedcount",
"id": "crm_quote_rationale_269"
},
@@ -46375,7 +46879,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L294",
- "community": 5,
+ "community": 56,
"norm_label": "java: calculateamount",
"id": "crm_quote_rationale_294"
},
@@ -46384,7 +46888,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L323",
- "community": 5,
+ "community": 56,
"norm_label": "java: resolvequoteproductids",
"id": "crm_quote_rationale_323"
},
@@ -46393,7 +46897,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L344",
- "community": 5,
+ "community": 56,
"norm_label": "java: generatequoteno \u2014 {\u4f9b\u65b9\u7f16\u7801}dd-yyyymmdd + 3\u4f4d\u5e8f\u53f7",
"id": "crm_quote_rationale_344"
},
@@ -46402,7 +46906,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1066",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1066"
},
@@ -46411,7 +46915,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1163",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1163"
},
@@ -46429,7 +46933,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1317",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1317"
},
@@ -46465,7 +46969,7 @@
"file_type": "code",
"source_file": "app/crud/crm/contract.py",
"source_location": "L844",
- "community": 6,
+ "community": 29,
"norm_label": "submit_approval()",
"id": "crm_contract_submit_approval"
},
@@ -46474,7 +46978,7 @@
"file_type": "code",
"source_file": "app/crud/crm/contract.py",
"source_location": "L883",
- "community": 6,
+ "community": 29,
"norm_label": "batch_submit_approval()",
"id": "crm_contract_batch_submit_approval"
},
@@ -46483,7 +46987,7 @@
"file_type": "code",
"source_file": "app/crud/crm/contract.py",
"source_location": "L912",
- "community": 6,
+ "community": 29,
"norm_label": "withdraw_approval()",
"id": "crm_contract_withdraw_approval"
},
@@ -46501,7 +47005,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L110",
- "community": 62,
+ "community": 6,
"norm_label": "orm \u2192 camelcase(\u5355\u70b9\u771f\u76f8)",
"id": "crm_contract_rationale_110"
},
@@ -46564,7 +47068,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L356",
- "community": 62,
+ "community": 6,
"norm_label": "java: buildquerywrapper",
"id": "crm_contract_rationale_356"
},
@@ -46591,7 +47095,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L829",
- "community": 6,
+ "community": 29,
"norm_label": "java: deletewithvalidbyids",
"id": "crm_contract_rationale_829"
},
@@ -46600,7 +47104,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L893",
- "community": 6,
+ "community": 29,
"norm_label": "java: batchsubmitapproval",
"id": "crm_contract_rationale_893"
},
@@ -46609,7 +47113,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L920",
- "community": 6,
+ "community": 29,
"norm_label": "java: withdrawapproval",
"id": "crm_contract_rationale_920"
},
@@ -46618,7 +47122,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L986",
- "community": 6,
+ "community": 29,
"norm_label": "java: invalidcontract",
"id": "crm_contract_rationale_986"
},
@@ -46627,7 +47131,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/contract.py",
"source_location": "L1034",
- "community": 6,
+ "community": 29,
"norm_label": "java: uploadattachments / uploadattachmentswithcategory",
"id": "crm_contract_rationale_1034"
},
@@ -46879,7 +47383,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2923",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2923"
},
@@ -46906,7 +47410,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2998",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2998"
},
@@ -46960,7 +47464,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3220",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3220"
},
@@ -46969,7 +47473,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1062",
- "community": 5,
+ "community": 119,
"norm_label": "java: createnewversion \u2014 \u8fd4\u56de\u65b0\u62a5\u4ef7\u5355 id",
"id": "crm_quote_rationale_1062"
},
@@ -46978,7 +47482,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1159",
- "community": 5,
+ "community": 90,
"norm_label": "java: crmquoteserviceimpl.withdrawapproval(\u6821\u9a8c\u521b\u5efa\u4eba)",
"id": "crm_quote_rationale_1159"
},
@@ -46987,7 +47491,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1208",
- "community": 5,
+ "community": 90,
"norm_label": "java: statisticsoverview",
"id": "crm_quote_rationale_1208"
},
@@ -47005,7 +47509,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/quote.py",
"source_location": "L1313",
- "community": 5,
+ "community": 74,
"norm_label": "java: statisticstrend",
"id": "crm_quote_rationale_1313"
},
@@ -47041,7 +47545,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L197",
- "community": 36,
+ "community": 67,
"norm_label": "\u767b\u51fa:\u540a\u9500 redis \u4f1a\u8bdd(\u82e5\u5df2\u914d\u7f6e redis_host)\u3002",
"id": "api_public_rationale_197"
},
@@ -47050,7 +47554,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L216",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u4fe1\u606f(\u4e0e sys_user \u5b57\u6bb5\u5bf9\u5e94)\u3002",
"id": "api_public_rationale_216"
},
@@ -47059,7 +47563,7 @@
"file_type": "rationale",
"source_file": "app/api/public.py",
"source_location": "L249",
- "community": 36,
+ "community": 130,
"norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u83dc\u5355\u6743\u9650\u6807\u8bc6(sys_menu.perms,\u7ecf\u89d2\u8272\u7ee7\u627f)\u3002",
"id": "api_public_rationale_249"
},
@@ -47104,7 +47608,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2912",
- "community": 33,
+ "community": 16,
"norm_label": "\u5206\u9875\u67e5\u8be2\u4f9b\u65b9\u5217\u8868 \u2014 java: crmsupplierinfocontroller.list",
"id": "api_crm_rationale_2912"
},
@@ -47131,7 +47635,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2987",
- "community": 33,
+ "community": 16,
"norm_label": "\u65b0\u589e\u4f9b\u65b9 \u2014 java: crmsupplierinfocontroller.add",
"id": "api_crm_rationale_2987"
},
@@ -47167,7 +47671,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3150",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3150"
},
@@ -47185,7 +47689,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2938",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_2938"
},
@@ -47203,7 +47707,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L3098",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_3098"
},
@@ -47230,7 +47734,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2238",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_2238"
},
@@ -47239,7 +47743,7 @@
"file_type": "code",
"source_file": "app/tasks/customer_pool.py",
"source_location": "L14",
- "community": 96,
+ "community": 20,
"norm_label": "_get_all_tenant_nos()",
"id": "tasks_customer_pool_get_all_tenant_nos"
},
@@ -47248,7 +47752,7 @@
"file_type": "code",
"source_file": "app/tasks/customer_pool.py",
"source_location": "L111",
- "community": 96,
+ "community": 20,
"norm_label": "_execute_single_rule()",
"id": "tasks_customer_pool_execute_single_rule"
},
@@ -47275,7 +47779,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/customer_pool.py",
"source_location": "L8",
- "community": 49,
+ "community": 40,
"norm_label": "customerpoollistbody",
"id": "crm_customer_pool_customerpoollistbody"
},
@@ -47284,7 +47788,7 @@
"file_type": "code",
"source_file": "app/schemas/crm/customer_pool.py",
"source_location": "L22",
- "community": 49,
+ "community": 40,
"norm_label": "customerpooldetailbody",
"id": "crm_customer_pool_customerpooldetailbody"
},
@@ -47302,7 +47806,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L43",
- "community": 56,
+ "community": 20,
"norm_label": "list_rules()",
"id": "crm_pool_rule_list_rules"
},
@@ -47311,7 +47815,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L81",
- "community": 56,
+ "community": 20,
"norm_label": "get_rule()",
"id": "crm_pool_rule_get_rule"
},
@@ -47320,7 +47824,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L92",
- "community": 56,
+ "community": 20,
"norm_label": "create_rule()",
"id": "crm_pool_rule_create_rule"
},
@@ -47329,7 +47833,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L122",
- "community": 56,
+ "community": 20,
"norm_label": "update_rule()",
"id": "crm_pool_rule_update_rule"
},
@@ -47338,7 +47842,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L148",
- "community": 56,
+ "community": 20,
"norm_label": "soft_delete_rule()",
"id": "crm_pool_rule_soft_delete_rule"
},
@@ -47347,7 +47851,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L148",
- "community": 56,
+ "community": 20,
"norm_label": "bool",
"id": "app_crud_crm_pool_rule_py_bool"
},
@@ -47356,7 +47860,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L159",
- "community": 56,
+ "community": 20,
"norm_label": "toggle_pool_rule()",
"id": "crm_pool_rule_toggle_pool_rule"
},
@@ -47401,7 +47905,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2164",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_2164"
},
@@ -47437,7 +47941,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2084",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_2084"
},
@@ -47455,7 +47959,7 @@
"file_type": "rationale",
"source_file": "app/api/crm.py",
"source_location": "L2081",
- "community": 33,
+ "community": 60,
"norm_label": "\u6309\u5ba2\u6237id\u67e5\u8be2\u5f00\u7968\u4fe1\u606f(\u4e0e by-customer \u7b49\u4ef7)",
"id": "api_crm_rationale_2081"
},
@@ -47473,7 +47977,7 @@
"file_type": "rationale",
"source_file": "app/api/admin.py",
"source_location": "L44",
- "community": 12,
+ "community": 130,
"norm_label": "\u8fd4\u56de\u8fd0\u8425\u7aef\u89d2\u8272\u4e0b\u62c9\u9009\u9879(label=\u5e93\u4e2d\u89d2\u8272\u540d,value=web \u89d2\u8272\u7801)\u3002",
"id": "api_admin_rationale_44"
},
@@ -47509,7 +48013,7 @@
"file_type": "rationale",
"source_file": "app/tasks/customer_pool.py",
"source_location": "L15",
- "community": 96,
+ "community": 20,
"norm_label": "\u516c\u6d77\u6c60\u81ea\u52a8\u56de\u6536\u4efb\u52a1(\u7531 apscheduler \u8c03\u5ea6) \u904d\u5386\u6240\u6709\u79df\u6237\u7684\u542f\u7528\u89c4\u5219,\u6267\u884c\u81ea\u52a8\u56de\u6536\u3002",
"id": "tasks_customer_pool_rationale_15"
},
@@ -47563,7 +48067,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L17",
- "community": 56,
+ "community": 20,
"norm_label": "_rule_row_to_dict()",
"id": "crm_pool_rule_rule_row_to_dict"
},
@@ -47572,7 +48076,7 @@
"file_type": "code",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L137",
- "community": 56,
+ "community": 20,
"norm_label": "soft_delete_pool_rule()",
"id": "crm_pool_rule_soft_delete_pool_rule"
},
@@ -47581,7 +48085,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L18",
- "community": 56,
+ "community": 20,
"norm_label": "\u89c4\u5219 orm \u5bf9\u8c61\u8f6c dict(camelcase \u952e\u540d)",
"id": "crm_pool_rule_rationale_18"
},
@@ -47590,7 +48094,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/pool_rule.py",
"source_location": "L168",
- "community": 56,
+ "community": 20,
"norm_label": "\u6267\u884c\u6240\u6709\u542f\u7528\u7684\u516c\u6d77\u6c60\u89c4\u5219,\u56de\u6536\u7b26\u5408\u6761\u4ef6\u7684\u5ba2\u6237\u5230\u516c\u6d77\u6c60\u3002 returns: (total_recovered_count, [custo",
"id": "crm_pool_rule_rationale_168"
},
@@ -47635,7 +48139,7 @@
"file_type": "code",
"source_file": "app/crud/crm/customer.py",
"source_location": "L28",
- "community": 20,
+ "community": 3,
"norm_label": "_customer_row_to_dict()",
"id": "crm_customer_customer_row_to_dict"
},
@@ -47644,7 +48148,7 @@
"file_type": "rationale",
"source_file": "app/crud/crm/customer.py",
"source_location": "L29",
- "community": 20,
+ "community": 3,
"norm_label": "\u5ba2\u6237 orm \u5bf9\u8c61\u8f6c dict(camelcase \u952e\u540d)",
"id": "crm_customer_rationale_29"
},
@@ -49626,6 +50130,17 @@
"source": "app_api_pl_inventory_py",
"target": "fastapi"
},
+ {
+ "relation": "imports_from",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L4",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "fastapi"
+ },
{
"relation": "imports_from",
"context": "import",
@@ -51719,6 +52234,47 @@
"source": "app_api_pl_inventory_py_str",
"target": "core_db_auth_dbusercontext"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "core_db_auth_dbusercontext"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_dbusercontext",
+ "target": "core_db_auth_dbusercontext"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_session",
+ "target": "core_db_auth_dbusercontext"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_str",
+ "target": "core_db_auth_dbusercontext"
+ },
{
"relation": "imports",
"context": "import",
@@ -51770,6 +52326,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "core_db_auth_dbusercontext"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L12",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "core_db_auth_dbusercontext"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L12",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "core_db_auth_dbusercontext"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -53612,6 +54188,16 @@
"source": "plfreightsettlement",
"target": "core_db_auth_dbusercontext"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plmenubadgestatsread",
+ "target": "core_db_auth_dbusercontext"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -54508,6 +55094,17 @@
"source": "app_api_pl_inventory_py",
"target": "core_db_auth_get_db_current_user"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L8",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "core_db_auth_get_db_current_user"
+ },
{
"relation": "imports",
"context": "import",
@@ -56529,6 +57126,17 @@
"source": "app_api_pl_inventory_py",
"target": "core_tenant_context_get_tenant_no"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "core_tenant_context_get_tenant_no"
+ },
{
"relation": "imports",
"context": "import",
@@ -57661,6 +58269,17 @@
"source": "pl_inventory_update_warning",
"target": "core_tenant_context_get_tenant_no"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L22",
+ "weight": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "core_tenant_context_get_tenant_no"
+ },
{
"relation": "calls",
"context": "call",
@@ -57881,6 +58500,28 @@
"source": "pl_plan_update_plan",
"target": "core_tenant_context_get_tenant_no"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1129",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "core_tenant_context_get_tenant_no"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1161",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "core_tenant_context_get_tenant_no"
+ },
{
"relation": "calls",
"context": "call",
@@ -60436,6 +61077,17 @@
"source": "utils_bx_date_range_parse_create_time_day_bounds",
"target": "timedelta"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "INFERRED",
+ "confidence_score": 0.8,
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L49",
+ "weight": 1.0,
+ "source": "utils_bx_date_range_resolve_create_time_bounds",
+ "target": "timedelta"
+ },
{
"relation": "calls",
"context": "call",
@@ -63806,6 +64458,17 @@
"source": "app_api_pl_inventory_py",
"target": "core_database_get_db"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L7",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "core_database_get_db"
+ },
{
"relation": "imports",
"context": "import",
@@ -82632,6 +83295,16 @@
"source": "app_utils_bx_date_range_py",
"target": "datetime"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L57",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_utils_bx_date_range_py",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -82652,6 +83325,26 @@
"source": "app_utils_bx_date_range_py",
"target": "utils_bx_date_range_parse_create_time_day_bounds"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L29",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_utils_bx_date_range_py",
+ "target": "utils_bx_date_range_parse_day_start"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L38",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_utils_bx_date_range_py",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
@@ -82793,6 +83486,28 @@
"source": "utils_bx_date_range_parse_create_time_day_bounds",
"target": "app_utils_bx_date_range_py_datetime"
},
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L29",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_parse_day_start",
+ "target": "app_utils_bx_date_range_py_datetime"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L38",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_resolve_create_time_bounds",
+ "target": "app_utils_bx_date_range_py_datetime"
+ },
{
"relation": "imports",
"context": "import",
@@ -83013,6 +83728,280 @@
"source": "utils_bx_date_range_parse_create_time_day_bounds",
"target": "str"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L51",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_resolve_create_time_bounds",
+ "target": "utils_bx_date_range_parse_create_time_day_bounds"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L57",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_append_create_time_filters",
+ "target": "app_utils_bx_date_range_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L29",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_parse_day_start",
+ "target": "app_utils_bx_date_range_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L38",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_resolve_create_time_bounds",
+ "target": "app_utils_bx_date_range_py_str"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L45",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_resolve_create_time_bounds",
+ "target": "utils_bx_date_range_parse_day_start"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L23",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_bx_advance_py",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L35",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_bx_reimburse_py",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L199",
+ "weight": 1.0,
+ "source": "bx_advance_advanceservice_approved_by_me",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L141",
+ "weight": 1.0,
+ "source": "bx_advance_advanceservice_pending_approval",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L200",
+ "weight": 1.0,
+ "source": "bx_reimburse_reimburseservice_approved_by_me",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L137",
+ "weight": 1.0,
+ "source": "bx_reimburse_reimburseservice_pending_approval",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L65",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_append_create_time_filters",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/utils/bx_date_range.py",
+ "source_location": "L43",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "utils_bx_date_range_rationale_43",
+ "target": "utils_bx_date_range_resolve_create_time_bounds"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/bx/advance.py",
+ "source_location": "L24",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_bx_advance_py",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/bx/payment.py",
+ "source_location": "L34",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_bx_payment_py",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/bx/reimburse.py",
+ "source_location": "L24",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_bx_reimburse_py",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L23",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_bx_advance_py",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/advance.py",
+ "source_location": "L67",
+ "weight": 1.0,
+ "source": "bx_advance_list_advances",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/advance.py",
+ "source_location": "L108",
+ "weight": 1.0,
+ "source": "bx_advance_my_advances",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/payment.py",
+ "source_location": "L283",
+ "weight": 1.0,
+ "source": "bx_payment_export_advance_issues",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/payment.py",
+ "source_location": "L228",
+ "weight": 1.0,
+ "source": "bx_payment_list_advance_issues",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/payment.py",
+ "source_location": "L70",
+ "weight": 1.0,
+ "source": "bx_payment_list_pending_payments",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/payment.py",
+ "source_location": "L117",
+ "weight": 1.0,
+ "source": "bx_payment_list_processed_payments",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/reimburse.py",
+ "source_location": "L100",
+ "weight": 1.0,
+ "source": "bx_reimburse_list_reimburses",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/bx/reimburse.py",
+ "source_location": "L145",
+ "weight": 1.0,
+ "source": "bx_reimburse_my_reimburses",
+ "target": "utils_bx_date_range_append_create_time_filters"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -85715,6 +86704,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_plcarrier"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plcarrier"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plcarrier"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -85969,6 +86978,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plcarrier"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plcarrier"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plcarrier"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -85999,6 +87028,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plcarrier"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plcarrier"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -87822,6 +88861,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_plvehicle"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plvehicle"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plvehicle"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -88086,6 +89145,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plvehicle"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plvehicle"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plvehicle"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -88116,6 +89195,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plvehicle"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plvehicle"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -89977,6 +91066,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plpersonnel"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plpersonnel"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plpersonnel"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -90007,6 +91116,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plpersonnel"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plpersonnel"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -91168,6 +92287,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_pldriver"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pldriver"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pldriver"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -92154,6 +93293,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plvehiclepersonnel"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plvehiclepersonnel"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plvehiclepersonnel"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -92184,6 +93343,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plvehiclepersonnel"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plvehiclepersonnel"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -93361,6 +94530,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_plplan"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplan"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplan"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -93927,6 +95116,47 @@
"source": "app_services_pl_freight_settlement_service_py_str",
"target": "models_pl_models_plplan"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plplan"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plplan"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plplan"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plplan"
+ },
{
"relation": "imports",
"context": "import",
@@ -93978,6 +95208,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plplan"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplan"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplan"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -94008,6 +95258,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plplan"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plplan"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -94780,6 +96040,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_plplanproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplanproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplanproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -95205,6 +96485,47 @@
"source": "app_services_pl_dibang_bridge_service_py_str",
"target": "models_pl_models_plplanproduct"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plplanproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plplanproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plplanproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plplanproduct"
+ },
{
"relation": "imports",
"context": "import",
@@ -95256,6 +96577,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plplanproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplanproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplanproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -95286,6 +96627,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plplanproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plplanproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -96213,6 +97564,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plplanchange"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplanchange"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplanchange"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -96243,6 +97614,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plplanchange"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plplanchange"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -96489,9 +97870,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L383",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_383",
- "target": "models_pl_models_plplanchange",
- "confidence_score": 1.0
+ "target": "models_pl_models_plplanchange"
},
{
"relation": "uses",
@@ -96726,6 +98107,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_pltransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pltransport"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pltransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -97242,6 +98643,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_pltransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pltransport"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pltransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -97272,6 +98693,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_pltransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_pltransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -98167,6 +99598,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_pltransportdblink"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pltransportdblink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pltransportdblink"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -98706,9 +100157,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L472",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_472",
- "target": "models_pl_models_pltransportdblink",
- "confidence_score": 1.0
+ "target": "models_pl_models_pltransportdblink"
},
{
"relation": "uses",
@@ -99083,6 +100534,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_plplantransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplantransport"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplantransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -99357,6 +100828,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plplantransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plplantransport"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plplantransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -99387,6 +100878,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plplantransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plplantransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -99723,9 +101224,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L494",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_494",
- "target": "models_pl_models_plplantransport",
- "confidence_score": 1.0
+ "target": "models_pl_models_plplantransport"
},
{
"relation": "calls",
@@ -100182,6 +101683,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_pl_models_pltransportsitelink"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L19",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pltransportsitelink"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -100313,6 +101834,147 @@
"source": "app_api_pl_public_site_py_uploadfile",
"target": "models_pl_models_pltransportsitelink"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_bool",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_decimal",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_int",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plancreatefull",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplan",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplanproduct",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransport",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plvehicle",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_session",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_str",
+ "target": "models_pl_models_pltransportsitelink"
+ },
{
"relation": "imports",
"context": "import",
@@ -100641,9 +102303,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L513",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_513",
- "target": "models_pl_models_pltransportsitelink",
- "confidence_score": 1.0
+ "target": "models_pl_models_pltransportsitelink"
},
{
"relation": "uses",
@@ -100655,6 +102317,26 @@
"source": "planarchivebody",
"target": "models_pl_models_pltransportsitelink"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchivefreightblock",
+ "target": "models_pl_models_pltransportsitelink"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchiveproductitem",
+ "target": "models_pl_models_pltransportsitelink"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -100725,6 +102407,16 @@
"source": "planproductcertsupdate",
"target": "models_pl_models_pltransportsitelink"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planproductcreate",
+ "target": "models_pl_models_pltransportsitelink"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -100745,6 +102437,16 @@
"source": "plansubpacksliptemplatesave",
"target": "models_pl_models_pltransportsitelink"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plantransportcreateblock",
+ "target": "models_pl_models_pltransportsitelink"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -101294,9 +102996,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L546",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_546",
- "target": "models_pl_models_pltransportapproval",
- "confidence_score": 1.0
+ "target": "models_pl_models_pltransportapproval"
},
{
"relation": "uses",
@@ -101682,6 +103384,47 @@
"source": "app_services_pl_freight_settlement_service_py_str",
"target": "models_pl_models_plfreightsettlement"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plfreightsettlement"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plfreightsettlement"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plfreightsettlement"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plfreightsettlement"
+ },
{
"relation": "imports",
"context": "import",
@@ -101733,6 +103476,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plfreightsettlement"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plfreightsettlement"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plfreightsettlement"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -101763,6 +103526,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plfreightsettlement"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plfreightsettlement"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -102139,9 +103912,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L575",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_575",
- "target": "models_pl_models_plfreightsettlement",
- "confidence_score": 1.0
+ "target": "models_pl_models_plfreightsettlement"
},
{
"relation": "uses",
@@ -102681,9 +104454,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L607",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_607",
- "target": "models_pl_models_plfreightsettlementapproval",
- "confidence_score": 1.0
+ "target": "models_pl_models_plfreightsettlementapproval"
},
{
"relation": "uses",
@@ -103010,6 +104783,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_pl_models_plfreightsettlementtransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_pl_models_plfreightsettlementtransport"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_pl_models_plfreightsettlementtransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -103040,6 +104833,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_pl_models_plfreightsettlementtransport"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L11",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_pl_models_plfreightsettlementtransport"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -103416,9 +105219,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L634",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_634",
- "target": "models_pl_models_plfreightsettlementtransport",
- "confidence_score": 1.0
+ "target": "models_pl_models_plfreightsettlementtransport"
},
{
"relation": "calls",
@@ -104152,9 +105955,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L654",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_654",
- "target": "models_pl_models_plremittancevoucher",
- "confidence_score": 1.0
+ "target": "models_pl_models_plremittancevoucher"
},
{
"relation": "calls",
@@ -104799,9 +106602,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L713",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_713",
- "target": "models_pl_models_plinventorytransaction",
- "confidence_score": 1.0
+ "target": "models_pl_models_plinventorytransaction"
},
{
"relation": "imports",
@@ -105181,9 +106984,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L742",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_742",
- "target": "models_pl_models_plinventorywarning",
- "confidence_score": 1.0
+ "target": "models_pl_models_plinventorywarning"
},
{
"relation": "imports",
@@ -105318,6 +107121,47 @@
"source": "app_services_pl_cert_service_py_str",
"target": "models_pl_models_pldocumentreminder"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_pldocumentreminder"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_pldocumentreminder"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_pldocumentreminder"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_pldocumentreminder"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -105664,9 +107508,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L767",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_767",
- "target": "models_pl_models_pldocumentreminder",
- "confidence_score": 1.0
+ "target": "models_pl_models_pldocumentreminder"
},
{
"relation": "calls",
@@ -105720,6 +107564,47 @@
"source": "str",
"target": "models_pl_models_pldocumentreminder"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plvehiclerechargeapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plvehiclerechargeapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plvehiclerechargeapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plvehiclerechargeapply"
+ },
{
"relation": "imports",
"context": "import",
@@ -106017,9 +107902,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L795",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_795",
- "target": "models_pl_models_plvehiclerechargeapply",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehiclerechargeapply"
},
{
"relation": "uses",
@@ -106142,6 +108027,47 @@
"source": "vehiclerechargerecordupdate",
"target": "models_pl_models_plvehiclerechargeapply"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plvehiclemaintenanceapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plvehiclemaintenanceapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plvehiclemaintenanceapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plvehiclemaintenanceapply"
+ },
{
"relation": "imports",
"context": "import",
@@ -106429,9 +108355,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L820",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_820",
- "target": "models_pl_models_plvehiclemaintenanceapply",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehiclemaintenanceapply"
},
{
"relation": "uses",
@@ -106851,9 +108777,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L848",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_848",
- "target": "models_pl_models_plvehiclemaintenanceprocess",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehiclemaintenanceprocess"
},
{
"relation": "uses",
@@ -106986,6 +108912,47 @@
"source": "vehiclemaintenanceprocessupdate",
"target": "models_pl_models_plvehiclemaintenanceprocess"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "models_pl_models_plvehicleureaapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_int",
+ "target": "models_pl_models_plvehicleureaapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_session",
+ "target": "models_pl_models_plvehicleureaapply"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_menu_badge_service_py_str",
+ "target": "models_pl_models_plvehicleureaapply"
+ },
{
"relation": "imports",
"context": "import",
@@ -107263,9 +109230,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L872",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_872",
- "target": "models_pl_models_plvehicleureaapply",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehicleureaapply"
},
{
"relation": "uses",
@@ -107665,9 +109632,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L899",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_899",
- "target": "models_pl_models_plvehicleureadisburse",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehicleureadisburse"
},
{
"relation": "uses",
@@ -108107,9 +110074,9 @@
"source_file": "app/models/pl_models.py",
"source_location": "L923",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "models_pl_models_rationale_923",
- "target": "models_pl_models_plvehiclerechargerecord",
- "confidence_score": 1.0
+ "target": "models_pl_models_plvehiclerechargerecord"
},
{
"relation": "uses",
@@ -133709,6 +135676,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_crm_models_crmproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L17",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_crm_models_crmproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L17",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_crm_models_crmproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -133932,6 +135919,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "models_crm_models_crmproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L267",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_crm_models_crmproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L267",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_crm_models_crmproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -133962,6 +135969,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "models_crm_models_crmproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L267",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_crm_models_crmproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -139143,6 +141160,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_crm_models_crmcontract"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L554",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L554",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_crm_models_crmcontract"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -139486,6 +141523,147 @@
"source": "app_crud_crm_quote_py_str",
"target": "models_crm_models_crmcontract"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_bool",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_decimal",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_int",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plancreatefull",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplan",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplanproduct",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransport",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plvehicle",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_session",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_str",
+ "target": "models_crm_models_crmcontract"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -139647,6 +141825,26 @@
"source": "planarchivebody",
"target": "models_crm_models_crmcontract"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchivefreightblock",
+ "target": "models_crm_models_crmcontract"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchiveproductitem",
+ "target": "models_crm_models_crmcontract"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -139717,6 +141915,16 @@
"source": "planproductcertsupdate",
"target": "models_crm_models_crmcontract"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planproductcreate",
+ "target": "models_crm_models_crmcontract"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -139737,6 +141945,16 @@
"source": "plansubpacksliptemplatesave",
"target": "models_crm_models_crmcontract"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L896",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plantransportcreateblock",
+ "target": "models_crm_models_crmcontract"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -140705,6 +142923,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_crm_models_crmcontractproduct"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L554",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_crm_models_crmcontractproduct"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L554",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_crm_models_crmcontractproduct"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -144397,6 +146635,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "models_db_models_dbinboundoutbound"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L18",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "models_db_models_dbinboundoutbound"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L18",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "models_db_models_dbinboundoutbound"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -149449,9 +151707,9 @@
"source_file": "app/schemas/pl/inventory.py",
"source_location": "L114",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "pl_inventory_documentreminderstatsread",
- "target": "models_base_basemodel",
- "confidence_score": 1.0
+ "target": "models_base_basemodel"
},
{
"relation": "inherits",
@@ -149613,6 +151871,16 @@
"source": "pl_inventory_transportstatsresponse",
"target": "models_base_basemodel"
},
+ {
+ "relation": "inherits",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/menu_badge.py",
+ "source_location": "L6",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_menu_badge_plmenubadgestatsread",
+ "target": "models_base_basemodel"
+ },
{
"relation": "inherits",
"confidence": "EXTRACTED",
@@ -149683,6 +151951,16 @@
"source": "pl_plan_plandeliverysliptemplatesave",
"target": "models_base_basemodel"
},
+ {
+ "relation": "inherits",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L316",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_plandriverfeedbackupdatebody",
+ "target": "models_base_basemodel"
+ },
{
"relation": "inherits",
"confidence": "EXTRACTED",
@@ -149753,6 +152031,16 @@
"source": "pl_plan_planproductupdate",
"target": "models_base_basemodel"
},
+ {
+ "relation": "inherits",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L324",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_plansitefeedbackupdatebody",
+ "target": "models_base_basemodel"
+ },
{
"relation": "inherits",
"confidence": "EXTRACTED",
@@ -155614,6 +157902,16 @@
"source": "app_schemas_pl_plan_py",
"target": "pl_plan_plandeliverysliptemplatesave"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L316",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_schemas_pl_plan_py",
+ "target": "pl_plan_plandriverfeedbackupdatebody"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -155714,6 +158012,16 @@
"source": "app_schemas_pl_plan_py",
"target": "pl_plan_planread"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L324",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_schemas_pl_plan_py",
+ "target": "pl_plan_plansitefeedbackupdatebody"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -156029,6 +158337,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "pl_plan_planproductcreate"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_planproductcreate"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_planproductcreate"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -156059,6 +158387,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "pl_plan_planproductcreate"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "pl_plan_planproductcreate"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -156591,6 +158929,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "pl_plan_planproductread"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_planproductread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_planproductread"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -157267,6 +159625,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "pl_plan_plantransportcreateblock"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_plantransportcreateblock"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_plantransportcreateblock"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -157297,6 +159675,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "pl_plan_plantransportcreateblock"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "pl_plan_plantransportcreateblock"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -157863,6 +160251,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "pl_plan_planlistquery"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_planlistquery"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_planlistquery"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -158356,6 +160764,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "pl_plan_planarchiveproductitem"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_planarchiveproductitem"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_planarchiveproductitem"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -158386,6 +160814,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "pl_plan_planarchiveproductitem"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "pl_plan_planarchiveproductitem"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -158617,6 +161055,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "pl_plan_planarchivefreightblock"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "pl_plan_planarchivefreightblock"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "pl_plan_planarchivefreightblock"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -158647,6 +161105,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "pl_plan_planarchivefreightblock"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "pl_plan_planarchivefreightblock"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -158858,6 +161326,70 @@
"source": "pl_plan_planarchivebody",
"target": "pl_resource_snapshot_planresourcesnapshotmixin"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "pl_plan_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "pl_plan_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "pl_plan_plandriverfeedbackupdatebody",
+ "target": "pl_resource_snapshot_planresourcesnapshotmixin"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "pl_plan_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "pl_plan_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/schemas/pl/plan.py",
+ "source_location": "L9",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "pl_plan_plansitefeedbackupdatebody",
+ "target": "pl_resource_snapshot_planresourcesnapshotmixin"
+ },
{
"relation": "imports",
"context": "import",
@@ -159852,6 +162384,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "pl_transport_planarrangeinforead"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "pl_transport_planarrangeinforead"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "pl_transport_planarrangeinforead"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -162036,6 +164588,67 @@
"source": "pl_transport_transportlistresponse",
"target": "pl_resource_snapshot_planresourcesnapshotmixin"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/schemas/pl/menu_badge.py",
+ "source_location": "L6",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_schemas_pl_menu_badge_py",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L10",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L10",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_dbusercontext",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L10",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_session",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L10",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_menu_badges_py_str",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L10",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plmenubadgestatsread",
+ "target": "pl_menu_badge_plmenubadgestatsread"
+ },
{
"relation": "imports_from",
"context": "import",
@@ -163991,9 +166604,9 @@
"source_file": "app/schemas/pl/__init__.py",
"source_location": "L74",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "app_schemas_pl_init_py",
- "target": "pl_inventory_documentreminderstatsread",
- "confidence_score": 1.0
+ "target": "pl_inventory_documentreminderstatsread"
},
{
"relation": "imports",
@@ -169674,9 +172287,9 @@
"source_file": "app/api/pl/inventory.py",
"source_location": "L21",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "app_api_pl_inventory_py",
- "target": "pl_inventory_documentreminderstatsread",
- "confidence_score": 1.0
+ "target": "pl_inventory_documentreminderstatsread"
},
{
"relation": "calls",
@@ -349110,6 +351723,26 @@
"source": "app_api_pl_plan_py",
"target": "pl_plan_update_plan"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "pl_plan_update_plan_driver_feedback"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "pl_plan_update_plan_site_feedback"
+ },
{
"relation": "imports",
"context": "import",
@@ -349187,6 +351820,28 @@
"source": "app_api_pl_plan_py",
"target": "services_pl_plan_service_apply_archive_product_quantities"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L55",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "services_pl_plan_service_apply_plan_driver_feedback"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L55",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "services_pl_plan_service_apply_plan_site_feedback"
+ },
{
"relation": "imports",
"context": "import",
@@ -349198,6 +351853,17 @@
"source": "app_api_pl_plan_py",
"target": "services_pl_plan_service_apply_vehicle_prefill_to_plan"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L55",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_plan_py",
+ "target": "services_pl_plan_service_assert_contract_selectable_for_plan"
+ },
{
"relation": "imports",
"context": "import",
@@ -349620,6 +352286,16 @@
"source": "pl_plan_rationale_79",
"target": "pl_plan_generate_plan_no"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L84",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_84",
+ "target": "pl_plan_generate_plan_no"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -349630,6 +352306,26 @@
"source": "app_api_pl_plan_py_session",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_session",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_session",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -350000,6 +352696,28 @@
"source": "pl_plan_update_plan",
"target": "app_api_pl_plan_py_session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "app_api_pl_plan_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "app_api_pl_plan_py_session"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -350010,6 +352728,26 @@
"source": "app_api_pl_plan_py_str",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_str",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_str",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -350424,6 +353162,28 @@
"source": "pl_plan_update_plan",
"target": "app_api_pl_plan_py_str"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "app_api_pl_plan_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "app_api_pl_plan_py_str"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -350467,6 +353227,26 @@
"source": "app_api_pl_plan_py_int",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_int",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_int",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -350670,6 +353450,16 @@
"source": "pl_plan_rationale_115",
"target": "pl_plan_normalize_subpack_slip_no"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L120",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_120",
+ "target": "pl_plan_normalize_subpack_slip_no"
+ },
{
"relation": "calls",
"context": "call",
@@ -350788,6 +353578,16 @@
"source": "pl_plan_rationale_148",
"target": "pl_plan_ensure_subpack_slip_no"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L153",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_153",
+ "target": "pl_plan_ensure_subpack_slip_no"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -350798,6 +353598,26 @@
"source": "app_api_pl_plan_py_plplan",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plplan",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plplan",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -351178,6 +353998,26 @@
"source": "app_api_pl_plan_py_date",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_date",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_date",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -351338,6 +354178,26 @@
"source": "app_api_pl_plan_py_dbusercontext",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_dbusercontext",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_dbusercontext",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -351686,6 +354546,28 @@
"source": "pl_plan_update_plan",
"target": "app_api_pl_plan_py_dbusercontext"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "app_api_pl_plan_py_dbusercontext"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "app_api_pl_plan_py_dbusercontext"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -351696,6 +354578,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "planlistresponse"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planlistresponse"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planlistresponse"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -352186,6 +355088,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "plancreate"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "plancreate"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "plancreate"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -352556,6 +355478,26 @@
"source": "app_api_pl_plan_py_plancreatefull",
"target": "planread"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planread"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353016,6 +355958,17 @@
"source": "pl_plan_create_plan_full",
"target": "services_pl_plan_service_apply_vehicle_prefill_to_plan"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L449",
+ "weight": 1.0,
+ "source": "pl_plan_create_plan_full",
+ "target": "services_pl_plan_service_assert_contract_selectable_for_plan"
+ },
{
"relation": "calls",
"context": "call",
@@ -353332,6 +356285,26 @@
"source": "pl_plan_rationale_441",
"target": "pl_plan_create_plan_full"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L446",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_446",
+ "target": "pl_plan_create_plan_full"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L447",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_447",
+ "target": "pl_plan_create_plan_full"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353342,6 +356315,26 @@
"target": "app_api_pl_plan_py_plancreatefull",
"confidence_score": 0.5
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plancreatefull",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plancreatefull",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353502,6 +356495,26 @@
"source": "app_services_pl_plan_service_py_plancreatefull",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plancreatefull"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plancreatefull"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353532,6 +356545,16 @@
"source": "app_services_pl_plan_service_py_pltransport",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "app_api_pl_plan_py_plancreatefull"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353622,6 +356645,26 @@
"source": "plplanproduct",
"target": "app_api_pl_plan_py_plancreatefull"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planwithproducts"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planwithproducts"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -353856,6 +356899,28 @@
"source": "pl_plan_patch_plan_product_certs",
"target": "planwithproducts"
},
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "planwithproducts"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "planwithproducts"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -354039,6 +357104,17 @@
"source": "pl_plan_create_from_contract",
"target": "plplan"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L567",
+ "weight": 1.0,
+ "source": "pl_plan_create_from_contract",
+ "target": "services_pl_plan_service_assert_contract_selectable_for_plan"
+ },
{
"relation": "calls",
"context": "call",
@@ -354061,6 +357137,26 @@
"source": "pl_plan_create_from_contract",
"target": "session"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "createfromcontractrequest"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "createfromcontractrequest"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -354468,6 +357564,28 @@
"source": "pl_plan_get_plan",
"target": "session"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1150",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "pl_plan_get_plan"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1184",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "pl_plan_get_plan"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -354578,6 +357696,26 @@
"source": "pl_plan_update_plan",
"target": "session"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planupdate"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planupdate"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -355168,9 +358306,49 @@
"source_file": "app/api/pl/plan.py",
"source_location": "L824",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "pl_plan_rationale_824",
- "target": "pl_plan_patch_plan_product_certs",
- "confidence_score": 1.0
+ "target": "pl_plan_patch_plan_product_certs"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L832",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_832",
+ "target": "pl_plan_patch_plan_product_certs"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L833",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_833",
+ "target": "pl_plan_patch_plan_product_certs"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planproductcertsupdate"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planproductcertsupdate"
},
{
"relation": "uses",
@@ -355386,6 +358564,26 @@
"source": "pl_plan_patch_plan_hazard_cert_ready",
"target": "session"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "hazardcertreadybody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "hazardcertreadybody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -355778,9 +358976,49 @@
"source_file": "app/api/pl/plan.py",
"source_location": "L892",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "pl_plan_rationale_892",
- "target": "pl_plan_get_plan_arrange_info",
- "confidence_score": 1.0
+ "target": "pl_plan_get_plan_arrange_info"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L900",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_900",
+ "target": "pl_plan_get_plan_arrange_info"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L901",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_901",
+ "target": "pl_plan_get_plan_arrange_info"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarrangeinforead",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarrangeinforead",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
},
{
"relation": "uses",
@@ -355922,9 +359160,29 @@
"source_file": "app/api/pl/plan.py",
"source_location": "L1006",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "pl_plan_rationale_1006",
- "target": "pl_plan_cancel_plan",
- "confidence_score": 1.0
+ "target": "pl_plan_cancel_plan"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1014",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_1014",
+ "target": "pl_plan_cancel_plan"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1015",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_rationale_1015",
+ "target": "pl_plan_cancel_plan"
},
{
"relation": "rationale_for",
@@ -356162,6 +359420,26 @@
"source": "pl_plan_archive_plan",
"target": "session"
},
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planarchivebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planarchivebody"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -356302,6 +359580,542 @@
"source": "session",
"target": "planarchivebody"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1123",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1131",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "services_pl_plan_service_apply_plan_driver_feedback"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1138",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_driver_feedback",
+ "target": "services_pl_plan_service_record_plan_change"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "confidence_score": 0.5
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_transport_py_transportinventorylinkread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_transport_py_transportsitelinkread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "plandeliverysliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "planinboundsliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plandriverfeedbackupdatebody",
+ "target": "plansubpacksliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_bool",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_decimal",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_int",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plancreatefull",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplan",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplanproduct",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransport",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plvehicle",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_session",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_str",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchivefreightblock",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchiveproductitem",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planproductcreate",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plantransportcreateblock",
+ "target": "app_api_pl_plan_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1154",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1163",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "services_pl_plan_service_apply_plan_site_feedback"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L1172",
+ "weight": 1.0,
+ "source": "pl_plan_update_plan_site_feedback",
+ "target": "services_pl_plan_service_record_plan_change"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "confidence_score": 0.5
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_transport_py_transportinventorylinkread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L50",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_transport_py_transportsitelinkread"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "plandeliverysliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "planinboundsliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/api/pl/plan.py",
+ "source_location": "L31",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_api_pl_plan_py_plansitefeedbackupdatebody",
+ "target": "plansubpacksliptemplatesave"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_bool",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_decimal",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_int",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plancreatefull",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plansitefeedbackupdatebody",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplan",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plplanproduct",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransport",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_pltransportsitelink",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_plvehicle",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_session",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "app_services_pl_plan_service_py_str",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchivefreightblock",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planarchiveproductitem",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "planproductcreate",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "uses",
+ "confidence": "INFERRED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L25",
+ "weight": 0.8,
+ "confidence_score": 0.5,
+ "source": "plantransportcreateblock",
+ "target": "app_api_pl_plan_py_plansitefeedbackupdatebody"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -378959,6 +382773,82 @@
"source": "pl_vehicle_urea_delete_disburses",
"target": "session"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "pl_menu_badges_menu_badge_stats"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L11",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_api_pl_menu_badges_py",
+ "target": "services_pl_menu_badge_service_build_menu_badge_counts"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "app_api_pl_menu_badges_py_dbusercontext"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "app_api_pl_menu_badges_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "app_api_pl_menu_badges_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L17",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "plmenubadgestatsread"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "app/api/pl/menu_badges.py",
+ "source_location": "L24",
+ "weight": 1.0,
+ "source": "pl_menu_badges_menu_badge_stats",
+ "target": "services_pl_menu_badge_service_build_menu_badge_counts"
+ },
{
"relation": "imports_from",
"context": "import",
@@ -401146,6 +405036,17 @@
"source": "services_pl_vehicle_recharge_service_generate_recharge_order_no",
"target": "services_pl_vehicle_recharge_service_generate_seq_no"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_recharge_service.py",
+ "source_location": "L31",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_recharge_service_generate_seq_no",
+ "target": "app_services_pl_vehicle_recharge_service_py_int"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -401707,6 +405608,39 @@
"source": "services_pl_vehicle_recharge_service_update_record",
"target": "app_services_pl_vehicle_recharge_service_py_str"
},
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_recharge_service.py",
+ "source_location": "L218",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_recharge_service_list_applies",
+ "target": "app_services_pl_vehicle_recharge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_recharge_service.py",
+ "source_location": "L461",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_recharge_service_list_disburse_board",
+ "target": "app_services_pl_vehicle_recharge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_recharge_service.py",
+ "source_location": "L381",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_recharge_service_list_records",
+ "target": "app_services_pl_vehicle_recharge_service_py_int"
+ },
{
"relation": "calls",
"context": "call",
@@ -402872,17 +406806,6 @@
"source": "services_pl_vehicle_recharge_service_list_applies",
"target": "app_services_pl_vehicle_recharge_service_py_date"
},
- {
- "relation": "references",
- "context": "generic_arg",
- "confidence": "EXTRACTED",
- "source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L218",
- "weight": 1.0,
- "confidence_score": 1.0,
- "source": "services_pl_vehicle_recharge_service_list_applies",
- "target": "app_services_pl_vehicle_recharge_service_py_int"
- },
{
"relation": "references",
"context": "generic_arg",
@@ -402971,28 +406894,6 @@
"source": "services_pl_vehicle_recharge_service_list_records",
"target": "app_services_pl_vehicle_recharge_service_py_date"
},
- {
- "relation": "references",
- "context": "generic_arg",
- "confidence": "EXTRACTED",
- "source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L461",
- "weight": 1.0,
- "confidence_score": 1.0,
- "source": "services_pl_vehicle_recharge_service_list_disburse_board",
- "target": "app_services_pl_vehicle_recharge_service_py_int"
- },
- {
- "relation": "references",
- "context": "generic_arg",
- "confidence": "EXTRACTED",
- "source_file": "app/services/pl_vehicle_recharge_service.py",
- "source_location": "L381",
- "weight": 1.0,
- "confidence_score": 1.0,
- "source": "services_pl_vehicle_recharge_service_list_records",
- "target": "app_services_pl_vehicle_recharge_service_py_int"
- },
{
"relation": "references",
"context": "parameter_type",
@@ -403860,6 +407761,505 @@
"source": "services_workflow_engine_workflowengine_reject_task",
"target": "services_workflow_callback_trigger_callback"
},
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L18",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_cert_service_scan_cert_expiry"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L19",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L20",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_freight_settlement_service_can_user_approve_settlement"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L141",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_build_menu_badge_counts"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L54",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_document_reminder_expired_pending"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L67",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_freight_approval_pending"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L131",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_freight_disburse_pending"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_pending_applies"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L120",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_plan_archive_pending"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L86",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_menu_badge_service_count_plan_cert_pending"
+ },
+ {
+ "relation": "imports",
+ "context": "import",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L21",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_menu_badge_service_py",
+ "target": "services_pl_plan_service_plan_has_hazard_products"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_pending_applies"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_pending_applies",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_pending_applies",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L44",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_pending_applies",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L50",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_pending_applies",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L141",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L54",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L67",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_approval_pending",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L131",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_disburse_pending",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L120",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_archive_pending",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L86",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "target": "app_services_pl_menu_badge_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L141",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L54",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L67",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_approval_pending",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L131",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_disburse_pending",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L120",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_archive_pending",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L86",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "target": "app_services_pl_menu_badge_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L141",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L54",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L67",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_approval_pending",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L131",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_disburse_pending",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L120",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_archive_pending",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L86",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "target": "app_services_pl_menu_badge_service_py_int"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L156",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_document_reminder_expired_pending"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L55",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "target": "services_pl_cert_service_scan_cert_expiry"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L63",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_document_reminder_expired_pending",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L158",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_freight_approval_pending"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L81",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_approval_pending",
+ "target": "services_pl_freight_settlement_service_can_user_approve_settlement"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L174",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_plan_cert_pending"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L94",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L115",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_cert_pending",
+ "target": "services_pl_plan_service_plan_has_hazard_products"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L176",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_plan_archive_pending"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L127",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_plan_archive_pending",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L160",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_build_menu_badge_counts",
+ "target": "services_pl_menu_badge_service_count_freight_disburse_pending"
+ },
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_menu_badge_service.py",
+ "source_location": "L137",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_menu_badge_service_count_freight_disburse_pending",
+ "target": "services_pl_data_scope_apply_pl_scope"
+ },
{
"relation": "imports_from",
"context": "import",
@@ -403945,6 +408345,26 @@
"source": "app_services_pl_plan_service_py",
"target": "services_pl_plan_service_apply_payload_to_transport_row"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "services_pl_plan_service_apply_plan_driver_feedback"
+ },
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "services_pl_plan_service_apply_plan_site_feedback"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -403965,6 +408385,16 @@
"source": "app_services_pl_plan_service_py",
"target": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport"
},
+ {
+ "relation": "contains",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L891",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "app_services_pl_plan_service_py",
+ "target": "services_pl_plan_service_assert_contract_selectable_for_plan"
+ },
{
"relation": "contains",
"confidence": "EXTRACTED",
@@ -404392,6 +408822,28 @@
"source": "services_pl_plan_service_apply_payload_to_transport_row",
"target": "app_services_pl_plan_service_py_str"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_driver_feedback",
+ "target": "app_services_pl_plan_service_py_str"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_site_feedback",
+ "target": "app_services_pl_plan_service_py_str"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -404414,6 +408866,17 @@
"source": "services_pl_plan_service_apply_vehicle_snapshot_to_plan_transport",
"target": "app_services_pl_plan_service_py_str"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L891",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_assert_contract_selectable_for_plan",
+ "target": "app_services_pl_plan_service_py_str"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -405645,6 +410108,28 @@
"source": "services_pl_plan_service_apply_archive_product_quantities",
"target": "app_services_pl_plan_service_py_session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_driver_feedback",
+ "target": "app_services_pl_plan_service_py_session"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_site_feedback",
+ "target": "app_services_pl_plan_service_py_session"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -405656,6 +410141,17 @@
"source": "services_pl_plan_service_apply_vehicle_prefill_to_plan",
"target": "app_services_pl_plan_service_py_session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L891",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_assert_contract_selectable_for_plan",
+ "target": "app_services_pl_plan_service_py_session"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -405876,6 +410372,28 @@
"source": "services_pl_plan_service_apply_payload_to_transport_row",
"target": "app_services_pl_plan_service_py_plplan"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_driver_feedback",
+ "target": "app_services_pl_plan_service_py_plplan"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_site_feedback",
+ "target": "app_services_pl_plan_service_py_plplan"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -405986,6 +410504,17 @@
"source": "services_pl_plan_service_apply_payload_to_transport_row",
"target": "app_services_pl_plan_service_py_pltransport"
},
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_driver_feedback",
+ "target": "app_services_pl_plan_service_py_pltransport"
+ },
{
"relation": "references",
"context": "return_type",
@@ -406211,9 +410740,19 @@
"source_file": "app/services/pl_plan_service.py",
"source_location": "L230",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "services_pl_plan_service_rationale_230",
- "target": "services_pl_plan_service_fetch_hazard_flags_map",
- "confidence_score": 1.0
+ "target": "services_pl_plan_service_fetch_hazard_flags_map"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L234",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_rationale_234",
+ "target": "services_pl_plan_service_fetch_hazard_flags_map"
},
{
"relation": "calls",
@@ -406253,9 +410792,19 @@
"source_file": "app/services/pl_plan_service.py",
"source_location": "L258",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "services_pl_plan_service_rationale_258",
- "target": "services_pl_plan_service_resolve_hazard_flags_from_crm",
- "confidence_score": 1.0
+ "target": "services_pl_plan_service_resolve_hazard_flags_from_crm"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L262",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_rationale_262",
+ "target": "services_pl_plan_service_resolve_hazard_flags_from_crm"
},
{
"relation": "references",
@@ -406856,9 +411405,19 @@
"source_file": "app/services/pl_plan_service.py",
"source_location": "L574",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "services_pl_plan_service_rationale_574",
- "target": "services_pl_plan_service_upsert_draft_transport_for_plan",
- "confidence_score": 1.0
+ "target": "services_pl_plan_service_upsert_draft_transport_for_plan"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L578",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_rationale_578",
+ "target": "services_pl_plan_service_upsert_draft_transport_for_plan"
},
{
"relation": "calls",
@@ -407117,9 +411676,19 @@
"source_file": "app/services/pl_plan_service.py",
"source_location": "L738",
"weight": 1.0,
+ "confidence_score": 1.0,
"source": "services_pl_plan_service_rationale_738",
- "target": "services_pl_plan_service_sync_transport_prefill_for_plan",
- "confidence_score": 1.0
+ "target": "services_pl_plan_service_sync_transport_prefill_for_plan"
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L742",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_rationale_742",
+ "target": "services_pl_plan_service_sync_transport_prefill_for_plan"
},
{
"relation": "references",
@@ -407524,6 +412093,39 @@
"source": "services_pl_plan_service_record_plan_change",
"target": "session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1125",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_driver_feedback",
+ "target": "app_services_pl_plan_service_py_plandriverfeedbackupdatebody"
+ },
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_site_feedback",
+ "target": "app_services_pl_plan_service_py_plansitefeedbackupdatebody"
+ },
+ {
+ "relation": "references",
+ "context": "return_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_plan_service.py",
+ "source_location": "L1162",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_plan_service_apply_plan_site_feedback",
+ "target": "app_services_pl_plan_service_py_pltransportsitelink"
+ },
{
"relation": "imports_from",
"context": "import",
@@ -418305,6 +422907,17 @@
"source": "services_pl_vehicle_maintenance_service_generate_process_no",
"target": "services_pl_vehicle_maintenance_service_generate_seq_no"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_maintenance_service.py",
+ "source_location": "L32",
+ "weight": 1.0,
+ "source": "services_pl_vehicle_maintenance_service_generate_seq_no",
+ "target": "app_services_pl_vehicle_maintenance_service_py_int",
+ "confidence_score": 1.0
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -418844,6 +423457,28 @@
"source": "services_pl_vehicle_maintenance_service_update_process",
"target": "app_services_pl_vehicle_maintenance_service_py_str"
},
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_maintenance_service.py",
+ "source_location": "L254",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_maintenance_service_list_applies",
+ "target": "app_services_pl_vehicle_maintenance_service_py_int"
+ },
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/pl_vehicle_maintenance_service.py",
+ "source_location": "L492",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "services_pl_vehicle_maintenance_service_list_process_board",
+ "target": "app_services_pl_vehicle_maintenance_service_py_int"
+ },
{
"relation": "calls",
"context": "call",
@@ -420051,17 +424686,6 @@
"source": "services_pl_vehicle_maintenance_service_update_process",
"target": "app_services_pl_vehicle_maintenance_service_py_vehiclemaintenanceprocessupdate"
},
- {
- "relation": "references",
- "context": "generic_arg",
- "confidence": "EXTRACTED",
- "source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L254",
- "weight": 1.0,
- "confidence_score": 1.0,
- "source": "services_pl_vehicle_maintenance_service_list_applies",
- "target": "app_services_pl_vehicle_maintenance_service_py_int"
- },
{
"relation": "references",
"context": "generic_arg",
@@ -420117,17 +424741,6 @@
"source": "services_pl_vehicle_maintenance_service_list_applies",
"target": "vehiclemaintenanceapplyread"
},
- {
- "relation": "references",
- "context": "generic_arg",
- "confidence": "EXTRACTED",
- "source_file": "app/services/pl_vehicle_maintenance_service.py",
- "source_location": "L492",
- "weight": 1.0,
- "confidence_score": 1.0,
- "source": "services_pl_vehicle_maintenance_service_list_process_board",
- "target": "app_services_pl_vehicle_maintenance_service_py_int"
- },
{
"relation": "references",
"context": "parameter_type",
@@ -422929,6 +427542,16 @@
"source": "bx_reimburse_reimburseservice",
"target": "bx_reimburse_reimburseservice_build_apply_out_with_details"
},
+ {
+ "relation": "method",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L572",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice",
+ "target": "bx_reimburse_reimburseservice_build_expense_name_condition"
+ },
{
"relation": "method",
"confidence": "EXTRACTED",
@@ -422989,6 +427612,16 @@
"source": "bx_reimburse_reimburseservice",
"target": "bx_reimburse_reimburseservice_get_details"
},
+ {
+ "relation": "method",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L592",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice",
+ "target": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids"
+ },
{
"relation": "method",
"confidence": "EXTRACTED",
@@ -423427,6 +428060,17 @@
"source": "bx_reimburse_reimburseservice_build_apply_out_with_details",
"target": "app_services_bx_reimburse_py_session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L572",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_build_expense_name_condition",
+ "target": "app_services_bx_reimburse_py_session"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -423493,6 +428137,17 @@
"source": "bx_reimburse_reimburseservice_get_details",
"target": "app_services_bx_reimburse_py_session"
},
+ {
+ "relation": "references",
+ "context": "parameter_type",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L592",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids",
+ "target": "app_services_bx_reimburse_py_session"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -423984,6 +428639,17 @@
"source": "bx_reimburse_reimburseservice_build_apply_out_with_details",
"target": "app_services_bx_reimburse_py_str"
},
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L572",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_build_expense_name_condition",
+ "target": "app_services_bx_reimburse_py_str"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -424039,6 +428705,17 @@
"source": "bx_reimburse_reimburseservice_get_details",
"target": "app_services_bx_reimburse_py_str"
},
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L592",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids",
+ "target": "app_services_bx_reimburse_py_str"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -424885,6 +429562,17 @@
"source": "app_services_bx_reimburse_py_bxworkflownode",
"target": "reimburseapplyout"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L134",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_pending_approval",
+ "target": "bx_reimburse_reimburseservice_build_expense_name_condition"
+ },
{
"relation": "calls",
"context": "call",
@@ -424929,6 +429617,17 @@
"source": "bx_reimburse_reimburseservice_pending_approval",
"target": "session"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L197",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_approved_by_me",
+ "target": "bx_reimburse_reimburseservice_build_expense_name_condition"
+ },
{
"relation": "calls",
"context": "call",
@@ -425217,6 +429916,16 @@
"source": "bx_reimburse_rationale_313",
"target": "bx_reimburse_reimburseservice_latest_approval_per_node"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L335",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_rationale_335",
+ "target": "bx_reimburse_reimburseservice_latest_approval_per_node"
+ },
{
"relation": "calls",
"context": "call",
@@ -425344,6 +430053,16 @@
"source": "bx_reimburse_rationale_378",
"target": "bx_reimburse_reimburseservice_get_approval_history"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L400",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_rationale_400",
+ "target": "bx_reimburse_reimburseservice_get_approval_history"
+ },
{
"relation": "references",
"context": "generic_arg",
@@ -425476,6 +430195,17 @@
"source": "bx_reimburse_reimburseservice_get_details",
"target": "session"
},
+ {
+ "relation": "references",
+ "context": "generic_arg",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L592",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids",
+ "target": "bxreimbursedetail"
+ },
{
"relation": "uses",
"confidence": "INFERRED",
@@ -425516,6 +430246,17 @@
"source": "bxreimbursedetail",
"target": "reimburseapplyout"
},
+ {
+ "relation": "calls",
+ "context": "call",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/reimburse.py",
+ "source_location": "L622",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_reimburse_reimburseservice_out_rows_with_attachment_counts",
+ "target": "bx_reimburse_reimburseservice_get_details_map_by_reimburse_ids"
+ },
{
"relation": "calls",
"context": "call",
@@ -429154,6 +433895,16 @@
"source": "bx_advance_rationale_335",
"target": "bx_advance_advanceservice_latest_approval_per_node"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L347",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_advance_rationale_347",
+ "target": "bx_advance_advanceservice_latest_approval_per_node"
+ },
{
"relation": "calls",
"context": "call",
@@ -429272,6 +434023,16 @@
"source": "bx_advance_rationale_400",
"target": "bx_advance_advanceservice_get_approval_history"
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "app/services/bx/advance.py",
+ "source_location": "L412",
+ "weight": 1.0,
+ "confidence_score": 1.0,
+ "source": "bx_advance_rationale_412",
+ "target": "bx_advance_advanceservice_get_approval_history"
+ },
{
"relation": "references",
"context": "parameter_type",
@@ -442915,5 +447676,5 @@
}
],
"hyperedges": [],
- "built_at_commit": "31be9bfd950299ca08c0fe16327540312a122615"
+ "built_at_commit": "843e13bce35e9ff4eefc787a4d05197ab6f5ce34"
}
\ No newline at end of file
diff --git a/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql b/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql
new file mode 100644
index 000000000..7e3a6e2fb
--- /dev/null
+++ b/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql
@@ -0,0 +1,7 @@
+-- 隐藏车辆尿素申请、车辆尿素发放登记(侧栏不展示,路由与权限保留)
+UPDATE sys_menu
+SET visible = '0',
+ remark = '侧栏不展示',
+ update_time = NOW()
+WHERE id IN ('PL_VEH_UREA_APPLY', 'PL_VEH_UREA_DISBURSE')
+ AND del_flag = 0;
diff --git a/backend/scripts/seed_sys_menu.sql b/backend/scripts/seed_sys_menu.sql
index 3ec72d829..201be0080 100644
--- a/backend/scripts/seed_sys_menu.sql
+++ b/backend/scripts/seed_sys_menu.sql
@@ -114,8 +114,8 @@ INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `co
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_DRIVER', '驾押人员信息', 'PL_GROUP_BASE', 'C', 'personnel', 'pl/personnel/index', 'pl:driver:list', 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', '2026-06-11 05:17:12', NULL, '2026-06-19 22:55:10', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_MAINT_PROCESS', '车辆维保处理登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-maintenance-process', 'pl/vehicle-maintenance-process/index', 'pl:vehicle-maintenance-process:list', 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', '2026-06-29 09:02:16', NULL, '2026-06-29 09:13:01', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_TRANSPORT_ADDRESS', '运输地址库', 'PL_GROUP_BASE', 'C', 'transport-address', 'pl/transport-address/index', 'pl:transport-address:list', 1, '1', '1', 'shanxia2.0', 5, '运输通用地址库', 'system', '', '2026-07-01 19:54:09', NULL, '2026-07-01 19:54:09', 0);
-INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_APPLY', '车辆尿素申请', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-apply', 'pl/vehicle-urea-apply/index', 'pl:vehicle-urea-apply:list', 1, '1', '1', 'shanxia2.0', 5, NULL, 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
-INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_DISBURSE', '车辆尿素发放登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-disburse', 'pl/vehicle-urea-disburse/index', 'pl:vehicle-urea-disburse:list', 1, '1', '1', 'shanxia2.0', 6, NULL, 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_APPLY', '车辆尿素申请', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-apply', 'pl/vehicle-urea-apply/index', 'pl:vehicle-urea-apply:list', 1, '0', '1', 'shanxia2.0', 5, '侧栏不展示', 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_DISBURSE', '车辆尿素发放登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-disburse', 'pl/vehicle-urea-disburse/index', 'pl:vehicle-urea-disburse:list', 1, '0', '1', 'shanxia2.0', 6, '侧栏不展示', 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('SYS_OPERLOG_Q', '查询', 'SYS_OPERLOG', 'F', '', '', 'system:operlog:query', 1, '1', '1', 'shanxia2.0', 1, NULL, 'system', '', '2026-06-29 10:23:01', NULL, '2026-06-29 10:23:01', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BX10000000000000000000000000001', '费用项目新增', 'BX00000000000000000000000000003', 'F', '', NULL, 'bx:expenseItem:add', 1, '1', '1', 'shanxia2.0', 1, NULL, NULL, '', '2026-06-06 21:22:32', NULL, '2026-06-06 21:22:32', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BX10000000000000000000000000004', '备用金提交', 'BX00000000000000000000000000007', 'F', '', NULL, 'bx:advanceApply:submit', 1, '1', '1', 'shanxia2.0', 1, NULL, NULL, '', '2026-06-06 21:22:32', NULL, '2026-06-06 21:22:32', 0);
diff --git a/docs/sql/pl_tables.sql b/docs/sql/pl_tables.sql
index 48fa3d4a9..7cf0f545e 100644
--- a/docs/sql/pl_tables.sql
+++ b/docs/sql/pl_tables.sql
@@ -669,7 +669,7 @@ CREATE TABLE `pl_document_reminder` (
DROP TABLE IF EXISTS `pl_vehicle_recharge_apply`;
CREATE TABLE `pl_vehicle_recharge_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
- `apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXSQ+YYYYMMDD+6位',
+ `apply_no` varchar(32) NOT NULL COMMENT '申请单号 ETC+YYYYMMDD+2位',
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
`recharge_type` varchar(20) NOT NULL COMMENT '充值类型 etc-ETC fuel-加油',
`apply_date` date NOT NULL COMMENT '申请日期',
@@ -732,7 +732,7 @@ CREATE TABLE `pl_vehicle_recharge_record` (
DROP TABLE IF EXISTS `pl_vehicle_maintenance_apply`;
CREATE TABLE `pl_vehicle_maintenance_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
- `apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXWB+YYYYMMDD+6位',
+ `apply_no` varchar(32) NOT NULL COMMENT '申请单号 WB+YYYYMMDD+2位',
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
`apply_date` date NOT NULL COMMENT '申请时间',
diff --git a/docs/sql/shanxia2.0.sql b/docs/sql/shanxia2.0.sql
index 7e798888b..053734ade 100644
--- a/docs/sql/shanxia2.0.sql
+++ b/docs/sql/shanxia2.0.sql
@@ -3548,7 +3548,7 @@ COMMIT;
DROP TABLE IF EXISTS `pl_vehicle_maintenance_apply`;
CREATE TABLE `pl_vehicle_maintenance_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
- `apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXWB+YYYYMMDD+6位',
+ `apply_no` varchar(32) NOT NULL COMMENT '申请单号 WB+YYYYMMDD+2位',
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
`applicant_id` varchar(64) NOT NULL COMMENT '申请人用户ID',
`apply_date` date NOT NULL COMMENT '申请时间',
@@ -3680,7 +3680,7 @@ COMMIT;
DROP TABLE IF EXISTS `pl_vehicle_recharge_apply`;
CREATE TABLE `pl_vehicle_recharge_apply` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
- `apply_no` varchar(32) NOT NULL COMMENT '申请单号 SXSQ+YYYYMMDD+6位',
+ `apply_no` varchar(32) NOT NULL COMMENT '申请单号 ETC+YYYYMMDD+2位',
`license_plate` varchar(20) NOT NULL COMMENT '车牌号',
`recharge_type` varchar(20) NOT NULL COMMENT '充值类型 etc-ETC fuel-加油',
`apply_date` date NOT NULL COMMENT '申请日期',
@@ -9276,8 +9276,8 @@ INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `co
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_DRIVER', '驾押人员信息', 'PL_GROUP_BASE', 'C', 'personnel', 'pl/personnel/index', 'pl:driver:list', 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', '2026-06-11 05:17:12', NULL, '2026-06-19 22:55:10', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_MAINT_PROCESS', '车辆维保处理登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-maintenance-process', 'pl/vehicle-maintenance-process/index', 'pl:vehicle-maintenance-process:list', 1, '1', '1', 'shanxia2.0', 4, NULL, 'system', '', '2026-06-29 09:02:16', NULL, '2026-06-29 09:13:01', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_TRANSPORT_ADDRESS', '运输地址库', 'PL_GROUP_BASE', 'C', 'transport-address', 'pl/transport-address/index', 'pl:transport-address:list', 1, '1', '1', 'shanxia2.0', 5, '运输通用地址库', 'system', '', '2026-07-01 19:54:09', NULL, '2026-07-01 19:54:09', 0);
-INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_APPLY', '车辆尿素申请', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-apply', 'pl/vehicle-urea-apply/index', 'pl:vehicle-urea-apply:list', 1, '1', '1', 'shanxia2.0', 5, NULL, 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
-INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_DISBURSE', '车辆尿素发放登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-disburse', 'pl/vehicle-urea-disburse/index', 'pl:vehicle-urea-disburse:list', 1, '1', '1', 'shanxia2.0', 6, NULL, 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_APPLY', '车辆尿素申请', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-apply', 'pl/vehicle-urea-apply/index', 'pl:vehicle-urea-apply:list', 1, '0', '1', 'shanxia2.0', 5, '侧栏不展示', 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('PL_VEH_UREA_DISBURSE', '车辆尿素发放登记', 'PL_GROUP_VEHICLE', 'C', 'vehicle-urea-disburse', 'pl/vehicle-urea-disburse/index', 'pl:vehicle-urea-disburse:list', 1, '0', '1', 'shanxia2.0', 6, '侧栏不展示', 'system', '', '2026-06-29 09:26:30', NULL, '2026-06-29 09:26:30', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('SYS_OPERLOG_Q', '查询', 'SYS_OPERLOG', 'F', '', '', 'system:operlog:query', 1, '1', '1', 'shanxia2.0', 1, NULL, 'system', '', '2026-06-29 10:23:01', NULL, '2026-06-29 10:23:01', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BX10000000000000000000000000001', '费用项目新增', 'BX00000000000000000000000000003', 'F', '', NULL, 'bx:expenseItem:add', 1, '1', '1', 'shanxia2.0', 1, NULL, NULL, '', '2026-06-06 21:22:32', NULL, '2026-06-06 21:22:32', 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES ('BX10000000000000000000000000004', '备用金提交', 'BX00000000000000000000000000007', 'F', '', NULL, 'bx:advanceApply:submit', 1, '1', '1', 'shanxia2.0', 1, NULL, NULL, '', '2026-06-06 21:22:32', NULL, '2026-06-06 21:22:32', 0);
diff --git a/docs/superpowers/plans/2026-07-11-pl-plan-archive-feedback-edit.md b/docs/superpowers/plans/2026-07-11-pl-plan-archive-feedback-edit.md
new file mode 100644
index 000000000..6d5916b8c
--- /dev/null
+++ b/docs/superpowers/plans/2026-07-11-pl-plan-archive-feedback-edit.md
@@ -0,0 +1,57 @@
+# 归档弹窗回传信息编辑 — Implementation Plan
+
+> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
+
+**Goal:** 归档人员在运输计划归档弹窗内,可独立保存司机回传与现场回传(空=补充,有数据=编辑,可覆盖任意字段)。
+
+**Architecture:** 后端新增 2 个 PATCH 接口写 `pl_transport` / `pl_transport_site_link` 并记 `pl_plan_change`;前端在 `PlPlanViewTabs` 增加 `feedbackEditable` 模式与编辑子弹窗,归档弹窗传入该 prop。
+
+**Tech Stack:** FastAPI + SQLAlchemy + Pydantic v2;Vue 3 + Element Plus + `AttachmentUploadField`
+
+**Spec:** 会话确认(2026-07-11):独立保存;归档人员可改全部字段;空态=补充、有数据=编辑。
+
+---
+
+## 文件结构
+
+| 文件 | 动作 |
+|------|------|
+| `backend/app/schemas/pl/plan.py` | 新增 `PlanDriverFeedbackUpdateBody`、`PlanSiteFeedbackUpdateBody` |
+| `backend/app/services/pl_plan_service.py` | 新增 `apply_plan_driver_feedback`、`apply_plan_site_feedback` |
+| `backend/app/api/pl/plan.py` | 新增 PATCH 路由 |
+| `web-admin/src/api/pl/index.ts` | 类型 + `planApi.updateDriverFeedback` / `updateSiteFeedback` |
+| `web-admin/src/components/business/pl-plan-driver-feedback-dialog/index.vue` | **新建** |
+| `web-admin/src/components/business/pl-plan-site-feedback-dialog/index.vue` | **新建** |
+| `web-admin/src/components/business/pl-plan-view-tabs/index.vue` | 编辑按钮 + 弹窗联动 |
+| `web-admin/src/components/business/pl-plan-archive-dialog/index.vue` | `feedback-editable` |
+
+---
+
+### Task 1: 后端 Schema + Service + API
+
+- [x] Schema 与 service 函数
+- [x] `PATCH /transport/plan/{id}/driver-feedback`
+- [x] `PATCH /transport/plan/{id}/site-feedback/{linkId}`
+
+### Task 2: 前端 API + 编辑弹窗
+
+- [x] `planApi` 扩展
+- [x] 司机/现场编辑弹窗组件
+
+### Task 3: 集成与验收
+
+- [x] `PlPlanViewTabs` 增加 `feedbackEditable`
+- [x] `PlPlanArchiveDialog` 传入 prop
+- [ ] 联调:未安排运输禁用司机编辑;现场按行编辑;保存后 reload
+
+---
+
+## 验收
+
+| # | 场景 | 预期 |
+|---|------|------|
+| V1 | 归档弹窗下区司机区无数据 | 显示「补充」,保存后表格有数据 |
+| V2 | 司机已有回传 | 「编辑」预填,保存覆盖 |
+| V3 | 现场每行 | 独立「编辑/补充」+ 独立保存 |
+| V4 | 未安排运输 | 司机编辑禁用并提示 |
+| V5 | 保存回传 | 不触发归档接口;下区 refresh |
diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json
index a8c46d2bd..dad585f97 100644
--- a/graphify-out/manifest.json
+++ b/graphify-out/manifest.json
@@ -185,8 +185,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/bx_date_range.py": {
- "mtime": 1780750556.881769,
- "ast_hash": "c40b659e0b1d8a549e97923a9a536719",
+ "mtime": 1783745556.3490353,
+ "ast_hash": "6a3967fac9725840e027666ed103d571",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/utils/crm_export_columns.py": {
@@ -285,8 +285,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/plan.py": {
- "mtime": 1783253807.0511494,
- "ast_hash": "07d07e8cbe99cf4583921eecd7c50ac9",
+ "mtime": 1783754594.2785444,
+ "ast_hash": "5687f8186e189e0357ea078439fff702",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/transport.py": {
@@ -445,7 +445,7 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/crm/contract.py": {
- "mtime": 1783253725.6031191,
+ "mtime": 1783760882.0429533,
"ast_hash": "6553f54ca1fd19086c170095f402a628",
"semantic_hash": ""
},
@@ -765,8 +765,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/plan.py": {
- "mtime": 1783253803.7495933,
- "ast_hash": "9988ede29390ded475241c3324ae60f9",
+ "mtime": 1783760540.4064815,
+ "ast_hash": "e5c5c37075fe5e8adb90b6f1859071b7",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/transport.py": {
@@ -780,13 +780,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/__init__.py": {
- "mtime": 1782906547.2093558,
- "ast_hash": "28dc4010ec275301fcb4a013b6855a50",
+ "mtime": 1783257553.396929,
+ "ast_hash": "97e0c60d10423ccd21e24736f5e52d70",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/freight.py": {
- "mtime": 1782788621.3000684,
- "ast_hash": "404402dfb367cbab6fe064c241ee47f2",
+ "mtime": 1783760751.0605507,
+ "ast_hash": "bd1b6e7ce95b9c79a5bb9028ab705c23",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/public_site.py": {
@@ -825,8 +825,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py": {
- "mtime": 1782650896.5650268,
- "ast_hash": "80983f5db8130ab4d23396142f294317",
+ "mtime": 1783747621.4622064,
+ "ast_hash": "c7af4c5e88bbb5db4a9ad15a615df84e",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/expense_item.py": {
@@ -845,8 +845,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/advance.py": {
- "mtime": 1782650889.956458,
- "ast_hash": "b0ca91ab4a3cc05aae37af0efa1ed816",
+ "mtime": 1783745567.0047345,
+ "ast_hash": "5e2009c31736cd162341c757d4e4cc48",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/workflow.py": {
@@ -855,8 +855,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/bx/payment.py": {
- "mtime": 1782650926.1058338,
- "ast_hash": "67f69bab7855ab26861515cc1ef2228b",
+ "mtime": 1783745581.266319,
+ "ast_hash": "5df979d32e271bac714c5a5dcfefbc10",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/api/db/public_inventory.py": {
@@ -890,8 +890,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_recharge_service.py": {
- "mtime": 1782694172.2472405,
- "ast_hash": "352064829cafaa3b2f6808d3c5f43c79",
+ "mtime": 1783760938.7434385,
+ "ast_hash": "fb8eb1f17753b7e3beb90ed2b14d021e",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_callback.py": {
@@ -905,8 +905,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_plan_service.py": {
- "mtime": 1783253802.1211858,
- "ast_hash": "4101f9e8261da756b4b40003b5ebe6a1",
+ "mtime": 1783754600.6087332,
+ "ast_hash": "377caea561fa9566945d26f8867c0d17",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/workflow_engine.py": {
@@ -955,8 +955,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_vehicle_maintenance_service.py": {
- "mtime": 1782695447.5191298,
- "ast_hash": "d6d6d19b74ef7e687af70adc35cc3b1e",
+ "mtime": 1783761151.8736966,
+ "ast_hash": "ee1c11ad2ae21eddc4cbc2015b16a261",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_transport_resource_snapshot_service.py": {
@@ -1000,8 +1000,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/reimburse.py": {
- "mtime": 1782650853.6722991,
- "ast_hash": "fa55b4cdbaec39c4fdc1c27b2a0fa979",
+ "mtime": 1783747614.5915463,
+ "ast_hash": "05cd14224ead5babfb340d615e1bcdee",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/expense_item.py": {
@@ -1020,8 +1020,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/advance.py": {
- "mtime": 1782650816.661263,
- "ast_hash": "c0888b036afb2b0c4c94215046bc66ac",
+ "mtime": 1783746967.7070882,
+ "ast_hash": "13bdb723db9e4db463f38f339a36ef8c",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/storage.py": {
@@ -2460,8 +2460,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/composables/usePlToxicProductCertCheck.ts": {
- "mtime": 1783253813.1241841,
- "ast_hash": "e11687789c9b1e3b760cd8b038d16f5f",
+ "mtime": 1783751322.1412632,
+ "ast_hash": "83594f6faf7468199fb530a7cd29942c",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/locales/index.ts": {
@@ -2775,8 +2775,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/utils/bx/format.ts": {
- "mtime": 1782858528.936228,
- "ast_hash": "83a018bfdf8e8491cbaa17036083ff05",
+ "mtime": 1783747311.0911572,
+ "ast_hash": "2b982baf33e862d7bb60a6b61e9f5763",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/utils/bx/table-summary.ts": {
@@ -3535,8 +3535,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-list-product-cell/index.vue": {
- "mtime": 1783253849.8981333,
- "ast_hash": "58475c6a3325e0ee0e0431c4c7d954bc",
+ "mtime": 1783266934.020478,
+ "ast_hash": "285474632192f66603ea802fb56b008f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-transport-address-select-dialog/index.vue": {
@@ -3545,8 +3545,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-freight-settlement-form-dialog/index.vue": {
- "mtime": 1783228577.4242618,
- "ast_hash": "abbf4a692da0c5d540714e03e44a5ed4",
+ "mtime": 1783266765.1753953,
+ "ast_hash": "7582c40195b898234838d9a7d7dace52",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl/PlVehicleSelect.vue": {
@@ -3580,8 +3580,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-list-cert-cell/index.vue": {
- "mtime": 1783253844.5590713,
- "ast_hash": "9027c78baf42efcf856d9ec70ee70c01",
+ "mtime": 1783267434.0423274,
+ "ast_hash": "471178c9428705f3db122576ab901508",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-cert-form-list/index.vue": {
@@ -3605,8 +3605,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-freight-approval-dialog/index.vue": {
- "mtime": 1783212897.091455,
- "ast_hash": "5d78611f3fe2dc150e9c49cb662725dc",
+ "mtime": 1783753616.1393602,
+ "ast_hash": "3fe1efff0d2c38b03c8c54ea019d5178",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-view-dialog/index.vue": {
@@ -3615,8 +3615,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/list-quick-search-input/index.vue": {
- "mtime": 1783128950.7415392,
- "ast_hash": "d4e6671b1fc507ef0523a5d43f14e57a",
+ "mtime": 1783749495.7649577,
+ "ast_hash": "02b859fd48cd5d2716541081819db721",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-cert-upload-dialog/index.vue": {
@@ -3640,13 +3640,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-archive-dialog/index.vue": {
- "mtime": 1783212733.7725396,
- "ast_hash": "fefc8efc6eb7873f5d5746d99f9655b2",
+ "mtime": 1783754641.7341132,
+ "ast_hash": "4ffb80920f360ffd3be7c5031656e6b7",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-view-tabs/index.vue": {
- "mtime": 1783212077.0919309,
- "ast_hash": "1832b06eb66d93cc045ab9009f6549a4",
+ "mtime": 1783754641.2119706,
+ "ast_hash": "29f9c0b38456e95518c5f68a1f3d9115",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-vehicle-summary-strip/index.vue": {
@@ -3655,8 +3655,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-form-dialog/index.vue": {
- "mtime": 1783253865.5727975,
- "ast_hash": "4ea65949554e2e5cff4b435c28abe727",
+ "mtime": 1783753864.039747,
+ "ast_hash": "cf0d0c6d728235c4d254f302622761f0",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-form-dialog/PlPlanFormProductTable.vue": {
@@ -3710,8 +3710,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-vehicle-view-panel/index.vue": {
- "mtime": 1783239463.6809237,
- "ast_hash": "03558658a5adb99fbfff3fa6a2a28e1e",
+ "mtime": 1783753612.3466718,
+ "ast_hash": "dd6aa8688128d4a4001c140a85892848",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-vehicle-cert-part-view/index.vue": {
@@ -3720,13 +3720,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-arrange-dialog/index.vue": {
- "mtime": 1783253225.9708738,
- "ast_hash": "a3a1ab2b7fa0c5bdf590d738b8630fc0",
+ "mtime": 1783754107.3458776,
+ "ast_hash": "a12ea444a2a64e098d24ffe2a6ea6904",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/contract-selector/index.vue": {
- "mtime": 1782858535.9887571,
- "ast_hash": "c65ef8d1879e43388f810aff03145242",
+ "mtime": 1783753883.6313336,
+ "ast_hash": "0b83e0c9beb98f2665e4fe5136e09a1f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-freight-settlement-view-dialog/index.vue": {
@@ -3745,13 +3745,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-hazard-cert-view-table/index.vue": {
- "mtime": 1783253837.3945284,
- "ast_hash": "657b19f7b3e2187a1fb399cef1fff306",
+ "mtime": 1783752373.92365,
+ "ast_hash": "6beb539dcc91dd6bb78417f683123cf4",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/system-view-dialog/index.vue": {
- "mtime": 1783210044.8968747,
- "ast_hash": "030dc2cda4e17c18900a5a9ce8bed5d9",
+ "mtime": 1783753644.9675748,
+ "ast_hash": "03df29d2856a73f9f186e49b36d9d747",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/system-view-dialog/ViewKvTable.vue": {
@@ -3780,8 +3780,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-cert-view-list/index.vue": {
- "mtime": 1783203113.075158,
- "ast_hash": "7124b4cecf5cffd394442b8cf6786f40",
+ "mtime": 1783753612.89902,
+ "ast_hash": "8c756fab63978e92794056486f34c1a1",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-subpack-slip-print-dialog/index.vue": {
@@ -3800,8 +3800,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-vehicle-personnel-view-list/PersonnelViewPanel.vue": {
- "mtime": 1783239411.0585754,
- "ast_hash": "87aa7256af19f5e57d2247205c335aee",
+ "mtime": 1783753612.7487419,
+ "ast_hash": "eca43ee259a74b2b83da5f037efe6c3d",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/ListPagination/index.vue": {
@@ -3980,8 +3980,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/pl/index.ts": {
- "mtime": 1783257582.7466357,
- "ast_hash": "b5fccce5cf80ced27a837859a2edd752",
+ "mtime": 1783754611.920795,
+ "ast_hash": "8ca7f86a901ee6834fd39adeb9bcc473",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/pl/public-transport.ts": {
@@ -4005,8 +4005,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/bx/index.ts": {
- "mtime": 1782858537.4754677,
- "ast_hash": "c5f3dc372904d4cdfabd601ffa43b0c9",
+ "mtime": 1783745590.7495205,
+ "ast_hash": "f7166ef8ac220fbeda22aae9052ec09c",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/crm/contact.ts": {
@@ -4050,8 +4050,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/crm/opportunity/types.ts": {
- "mtime": 1782858537.598116,
- "ast_hash": "c0ce3cc04a0b96fd4cbe9e7662f62e74",
+ "mtime": 1783749576.1986272,
+ "ast_hash": "74cc1b71f81e74f4e4eed9d590522266",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/api/crm/opportunity/index.ts": {
@@ -4135,8 +4135,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/demo/order/index.vue": {
- "mtime": 1783210027.3550508,
- "ast_hash": "f57d48099ed639fd438d7488eef7c4d3",
+ "mtime": 1783753626.0524588,
+ "ast_hash": "db0c8e5011a45243206b04283b5cfc9a",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/demo/unit/index.vue": {
@@ -4145,18 +4145,18 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/demo/category/index.vue": {
- "mtime": 1782858538.604149,
- "ast_hash": "595d058bf17eeb9f55a64eb778a9653f",
+ "mtime": 1783753627.746744,
+ "ast_hash": "6dfb2f08822fd59e37d25800ce004171",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/demo/product/index.vue": {
- "mtime": 1782858538.661123,
- "ast_hash": "bffaa0ba6be57279f734a0f9b91c277d",
+ "mtime": 1783753636.8883696,
+ "ast_hash": "baeb5f90da108d24323dde0eb43999a1",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/plan-cert/index.vue": {
- "mtime": 1783258119.2299886,
- "ast_hash": "a6cb0acc9650468fb1518ba3e7dff09c",
+ "mtime": 1783751306.5025704,
+ "ast_hash": "8cafb90dfba5bc18bfd0f0f8f88f5f2c",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/transport/index.vue": {
@@ -4170,8 +4170,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-recharge-record/index.vue": {
- "mtime": 1783228526.8183672,
- "ast_hash": "0cad018d21e7fc36b3cdb64864642b20",
+ "mtime": 1783750559.6180575,
+ "ast_hash": "6dc96f6cbf91cb678c02ec0494091113",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/driver/index.vue": {
@@ -4180,8 +4180,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/plan/index.vue": {
- "mtime": 1783253225.9709496,
- "ast_hash": "9fb95a50e66fea820974fa74939d5dca",
+ "mtime": 1783750515.7251935,
+ "ast_hash": "503f7ef7167e32d3bb0ebc78489bf973",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/plan/arrange.vue": {
@@ -4210,13 +4210,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-maintenance-apply/index.vue": {
- "mtime": 1783228537.8917356,
- "ast_hash": "2b0fc30390eaafa54333b9f20e2478ef",
+ "mtime": 1783750560.3703632,
+ "ast_hash": "07ff9daf9e90ccd1c28065667c1e9730",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-recharge-apply/index.vue": {
- "mtime": 1783228537.4992151,
- "ast_hash": "4062b24b77dbefa73ad7c9b227448039",
+ "mtime": 1783750558.712787,
+ "ast_hash": "aaa4435dc6d47d778ca278f7f353ad5f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/index.vue": {
@@ -4230,38 +4230,38 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/UnsettledPlanPanel.vue": {
- "mtime": 1783228557.3250911,
- "ast_hash": "91b220722fed9281b116173717dea54a",
+ "mtime": 1783750530.072136,
+ "ast_hash": "fe2fa4764d689984c196a31a80d99544",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/ApprovalPendingPanel.vue": {
- "mtime": 1783206663.0693789,
- "ast_hash": "a1284748cc739bfc3dc8bc87ef85e634",
+ "mtime": 1783750546.4713101,
+ "ast_hash": "d8fa285141bb4b8473ae809df459fa21",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/DisbursePanel.vue": {
- "mtime": 1783206663.3020656,
- "ast_hash": "75e19f442b18875cc6c32e7e4865cefd",
+ "mtime": 1783750542.5534213,
+ "ast_hash": "022a5c3b995023b77d727ada2a4bf843",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/SettledPanel.vue": {
- "mtime": 1783177430.5440109,
- "ast_hash": "77007cf472d7884c3baa536d8d6bea08",
+ "mtime": 1783750555.645674,
+ "ast_hash": "ab4e5b4c0c26ae12b6776d807c3d0911",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/SettlementBillPanel.vue": {
- "mtime": 1783133739.789452,
- "ast_hash": "f6ca9ff3900709caaf84914279988ded",
+ "mtime": 1783750536.2522204,
+ "ast_hash": "e5f7978c24d1487f160912bfc7501cab",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight/components/ApprovalDonePanel.vue": {
- "mtime": 1783177437.0590508,
- "ast_hash": "3f1edbe5dc7a9c194405cff607b1866f",
+ "mtime": 1783750551.208453,
+ "ast_hash": "6bd67c1f002a59ae5f23ac0b5317bf87",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-urea-disburse/index.vue": {
- "mtime": 1783228548.0908864,
- "ast_hash": "3d5b70c6b9e89296a9e3046cc7f14df6",
+ "mtime": 1783750563.4300344,
+ "ast_hash": "1ad97a433ead247bbd97156ff592b068",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/freight-disburse/index.vue": {
@@ -4270,8 +4270,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-urea-apply/index.vue": {
- "mtime": 1783228538.5463428,
- "ast_hash": "e7a32a07efe2a37cd0362c25bc86af61",
+ "mtime": 1783750562.4931703,
+ "ast_hash": "4af3a2d920f80eb9e73eb74b51affdb0",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/inventory/ledger.vue": {
@@ -4285,8 +4285,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/plan-archive/index.vue": {
- "mtime": 1783258124.2952998,
- "ast_hash": "d524ea2b5ca720044c3bf8ef94ea13a9",
+ "mtime": 1783750518.4763997,
+ "ast_hash": "ba57b39a05f387fabae440c908c46985",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/self-vehicle/index.vue": {
@@ -4305,68 +4305,68 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/pl/vehicle-maintenance-process/index.vue": {
- "mtime": 1783228547.5552845,
- "ast_hash": "9b93fc4cdd1ec9b0031925dc68155eb8",
+ "mtime": 1783750561.7287903,
+ "ast_hash": "56b081c0b2fde1138d855f459119d306",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/payment/index.vue": {
- "mtime": 1783210027.2915742,
- "ast_hash": "8eda34a0989b6458b297b2fe022a2c8b",
+ "mtime": 1783749841.145901,
+ "ast_hash": "7201405831aff31ccb574ee94015e635",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/advance/apply/index.vue": {
- "mtime": 1783210027.285049,
- "ast_hash": "34688c98b32ddee4198d08bcec2c7878",
+ "mtime": 1783749833.1933994,
+ "ast_hash": "03db8f30c76f55f4e5e3c855dd9cd46f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/advance/approve/index.vue": {
- "mtime": 1783257608.2656443,
- "ast_hash": "73f5a7d60b4b8d007fbffa79e119979c",
+ "mtime": 1783749835.4917817,
+ "ast_hash": "d506bcfaa3954ef8c8a4c09aab90afb8",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/advance/issue/index.vue": {
- "mtime": 1783210027.2884681,
- "ast_hash": "eafe14a6bbb14fce2aa1fe69ddbcfadf",
+ "mtime": 1783749838.7420616,
+ "ast_hash": "e4b113f1e1fd5bba66e39cff8fb20c92",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/reimburse/apply/index.vue": {
- "mtime": 1783210027.2928102,
- "ast_hash": "3c2b35e66b5267506b71766cbb5dec22",
+ "mtime": 1783748568.624851,
+ "ast_hash": "f9895fea71d09fb911ccfa9be3485878",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/reimburse/approve/index.vue": {
- "mtime": 1783257608.4078798,
- "ast_hash": "8063e81dee78835d84f4bd331b609a23",
+ "mtime": 1783749840.0176568,
+ "ast_hash": "69211192a8564452b2a839ced7e5f157",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/workflow/advance/index.vue": {
- "mtime": 1783174035.2444718,
- "ast_hash": "c03e0b75ee8cf44b73d65ad3bb9925d9",
+ "mtime": 1783750010.648591,
+ "ast_hash": "bdb4f5dd6ef7196b7fb1d241fdb6f91a",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/workflow/reimburse/index.vue": {
- "mtime": 1783174036.0454044,
- "ast_hash": "4192c1f816ae0d7dc5c41f53eca9b741",
+ "mtime": 1783750001.7662137,
+ "ast_hash": "7a1bdaba0880c1c3fdf1aef4636f8f48",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/view/all/index.vue": {
- "mtime": 1783213253.075741,
- "ast_hash": "d7dc9f42bdc6aa47322e24fd8fdc066d",
+ "mtime": 1783749875.5645318,
+ "ast_hash": "8c9a56af329d2c44040435a83bf60955",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/view/todo/index.vue": {
- "mtime": 1783258129.0460382,
- "ast_hash": "6b50caef640f4fb535c4e522713dbc26",
+ "mtime": 1783749863.7509627,
+ "ast_hash": "b86a436b204d99a173b62a4243415638",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/view/mine/index.vue": {
- "mtime": 1783213253.07575,
- "ast_hash": "851271a034705cc1ea02ed4748e034cb",
+ "mtime": 1783749863.7713876,
+ "ast_hash": "a074b3d467dcc90e426c262ab4418607",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/bx/expense-item/index.vue": {
- "mtime": 1783174034.9664962,
- "ast_hash": "6ba9975ed607e414d2f51d834b544d44",
+ "mtime": 1783749979.7641199,
+ "ast_hash": "ab11df8b3e50469b1e6597b2b9c4c0fd",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/auth/login/index.vue": {
@@ -4380,13 +4380,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/clue/invalidForm.vue": {
- "mtime": 1783167837.2960262,
- "ast_hash": "c7a5a289a763ae5d089ed68d7f215415",
+ "mtime": 1783753619.3535752,
+ "ast_hash": "3952ae1e07c0e1895c99343bf82a4147",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/clue/detailDrawer.vue": {
- "mtime": 1783171032.9916632,
- "ast_hash": "bad6da0b1924ef3966dba28ce874cd97",
+ "mtime": 1783753619.656547,
+ "ast_hash": "48cba2f8a723c016ebd5eed3c2110715",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/clue/convertForm.vue": {
@@ -4415,28 +4415,28 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/clue/statistics/index.vue": {
- "mtime": 1782858540.1628435,
- "ast_hash": "1c67b89b045039ba8ce32e1f512cbed8",
+ "mtime": 1783749525.8621168,
+ "ast_hash": "21af1c0e58e1fd9f1ea283e792edd023",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/opportunity/index.vue": {
- "mtime": 1783167832.2741673,
- "ast_hash": "fe7b59238c526987495e07a955fe5691",
+ "mtime": 1783749577.3539972,
+ "ast_hash": "eaae9bb5c6b7c3e43d8da3b42c6382a4",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/opportunity/kanban.vue": {
- "mtime": 1782858540.4539933,
- "ast_hash": "a6d6ccf2f7502af065d5655c50d52c46",
+ "mtime": 1783749524.0965643,
+ "ast_hash": "c9ae6bc7c8989e84a480ebcfca93fe33",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/opportunity/funnel.vue": {
- "mtime": 1782865905.470497,
- "ast_hash": "ef041a4aa5d1cbf5f6a04d2fce115830",
+ "mtime": 1783749523.3347273,
+ "ast_hash": "8ac68f6c6cdba0648f2effdfbfabdebe",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/opportunity/statistics.vue": {
- "mtime": 1782858540.7230475,
- "ast_hash": "5bf1bd7fb8bf819176bfe898e89b7f6f",
+ "mtime": 1783749525.0229378,
+ "ast_hash": "12cd5228f44374c1a0b7ad364315f7d1",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/opportunity/detail.vue": {
@@ -4485,8 +4485,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/index.vue": {
- "mtime": 1783132537.9314418,
- "ast_hash": "26cc2ab2f99831053d17769737255481",
+ "mtime": 1783749577.7739928,
+ "ast_hash": "ce91084329a7737179e85701ec10f737",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/detail.vue": {
@@ -4500,13 +4500,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/change/index.vue": {
- "mtime": 1783206731.722115,
- "ast_hash": "3edc2ff54d5ec54c2d9b28f36056d2ea",
+ "mtime": 1783749578.9362597,
+ "ast_hash": "072ed1d1d552d248f22f6b184bbb6ac2",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/template/index.vue": {
- "mtime": 1783168287.8701012,
- "ast_hash": "c5707de7a30e126f8176c8bb07f85905",
+ "mtime": 1783749580.9225445,
+ "ast_hash": "e76639496f0dd87c93316fbc0f7bc26f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/UploadDialog.vue": {
@@ -4520,8 +4520,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ContractDetailDialog.vue": {
- "mtime": 1783210027.3103733,
- "ast_hash": "2b24ff5c35c1278ec55ff46fd08fcec5",
+ "mtime": 1783753625.445439,
+ "ast_hash": "ea172441d0463ff69fcbb57cc998a1e5",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ContractAttachmentPanel.vue": {
@@ -4530,8 +4530,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ExecuteDialog.vue": {
- "mtime": 1783167841.695422,
- "ast_hash": "8217f7ee7a56461870dcadd707d3674f",
+ "mtime": 1783753615.5712376,
+ "ast_hash": "5acae34df8b8d792df2ec25138438a30",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ProductSelector.vue": {
@@ -4540,8 +4540,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ApprovalDialog.vue": {
- "mtime": 1783167841.5234566,
- "ast_hash": "4d263837acec8ede3c27ee2dacabb655",
+ "mtime": 1783753615.3856215,
+ "ast_hash": "0722dd2ab21a746ddd7e2ecdbc5d0e4f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/RenewDialog.vue": {
@@ -4550,23 +4550,23 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/components/ContractFormDialog.vue": {
- "mtime": 1783167684.1261744,
- "ast_hash": "8be146042d4d87237300bbc1bb234055",
+ "mtime": 1783753619.6567745,
+ "ast_hash": "f5ad04429d915d0d234b7dc5bc7bd02f",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/contract/approval/index.vue": {
- "mtime": 1783206666.8253603,
- "ast_hash": "8148db045842916133c87e8e11952800",
+ "mtime": 1783749579.8658462,
+ "ast_hash": "61c72530bd4d7e300638bc86a932a972",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/quote/index.vue": {
- "mtime": 1783167845.8955808,
- "ast_hash": "a91b01285c0d56230182f2106a88da74",
+ "mtime": 1783753615.4545014,
+ "ast_hash": "94a65c4ccb9fe9e3e041e7c41525ab70",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/quote/statistics.vue": {
- "mtime": 1782865913.3271868,
- "ast_hash": "63c12dc175ed87c593757be0a7077645",
+ "mtime": 1783753616.0385597,
+ "ast_hash": "5f5bdc64a116c3e96e4a0489f91fb3a3",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/quote/detail.vue": {
@@ -4625,13 +4625,13 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/quote/components/ApprovalDialog.vue": {
- "mtime": 1783167841.1997998,
- "ast_hash": "8ed727e4af9da027eff6d574e923f6ee",
+ "mtime": 1783753615.4724426,
+ "ast_hash": "2663d2ded83d77600246f8dd4c939b93",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/product-category/index.vue": {
- "mtime": 1783177385.4275196,
- "ast_hash": "38663c9baaf4d21bb1400d43af664273",
+ "mtime": 1783749495.7887435,
+ "ast_hash": "884649faca91290b04c9287b0dfaef37",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/product/index.vue": {
@@ -4695,8 +4695,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/customer/pool/RuleIndex.vue": {
- "mtime": 1783174036.520052,
- "ast_hash": "a6de5be5f94e6e48c0e0a50c54624921",
+ "mtime": 1783749511.809263,
+ "ast_hash": "8de35c2ebf3baa058ef0ca4869d577d5",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/crm/customer/pool/components/ClaimDialog.vue": {
@@ -4730,18 +4730,18 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/role/index.vue": {
- "mtime": 1783177608.463878,
- "ast_hash": "ca7fdec257cd2deff98b3383d97e83db",
+ "mtime": 1783753620.0978844,
+ "ast_hash": "66d1faaa3abaeeec876f74ea3533cff8",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/post/index.vue": {
- "mtime": 1783177601.3667324,
- "ast_hash": "fcfb440fd5b877ccff340539a44b1546",
+ "mtime": 1783753620.2263024,
+ "ast_hash": "a47bf76e5ef809a3a4dff60c6f2c60a9",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/operlog/index.vue": {
- "mtime": 1783210049.6173735,
- "ast_hash": "54870e6f27109e3b62457df9e7f9e4dc",
+ "mtime": 1783750757.5048923,
+ "ast_hash": "39c5c997406e1c02e1bb92b32c3e2d47",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/user/index.vue": {
@@ -4790,8 +4790,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/workflow/designer/FlowDesigner.vue": {
- "mtime": 1783174394.8656242,
- "ast_hash": "c0b2b43e770d4748fe347c53c096b0a4",
+ "mtime": 1783753625.0866554,
+ "ast_hash": "eb5fac06dcc7445bdf7eb6231360970a",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/workflow/process/index.vue": {
@@ -4815,8 +4815,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/dict/index.vue": {
- "mtime": 1783177605.9500277,
- "ast_hash": "d268618ef399698403fdbbc4a1330fc5",
+ "mtime": 1783753619.8182697,
+ "ast_hash": "59870f7b1a96bec0486c7dfb738e306b",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/views/system/leave/index.vue": {
@@ -4985,8 +4985,8 @@
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/router/modules/pl.ts": {
- "mtime": 1783256026.7711463,
- "ast_hash": "65be55b45c9c3352a62e355bd6cebc3d",
+ "mtime": 1783760391.9571462,
+ "ast_hash": "a0489a1164c9d921b445049400299424",
"semantic_hash": ""
},
"/Users/zlwu/work/00code/shanxia2.0/web-admin/src/router/modules/index.ts": {
@@ -7338,5 +7338,60 @@
"mtime": 1783257534.2195635,
"ast_hash": "2d9bb009b9bbfc11459917b25976f9d8",
"semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/web-admin/src/utils/bx/apply-date-filter.ts": {
+ "mtime": 1783745586.4757228,
+ "ast_hash": "11d249c7ff38dbc94c2bbfa433a00a3b",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-driver-feedback-dialog/index.vue": {
+ "mtime": 1783754619.3251052,
+ "ast_hash": "073b65231072a422b406281723a99913",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/web-admin/src/components/business/pl-plan-site-feedback-dialog/index.vue": {
+ "mtime": 1783754623.5029132,
+ "ast_hash": "a630099f1159c62a593cd6bbce5c1d73",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/app/schemas/pl/menu_badge.py": {
+ "mtime": 1783257567.2129107,
+ "ast_hash": "13f2ce92d4c5fa5b685d7f54921d626e",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/app/api/pl/menu_badges.py": {
+ "mtime": 1783257582.921626,
+ "ast_hash": "31b679c3721e5017815594984533969c",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/pl_menu_badge_service.py": {
+ "mtime": 1783258109.621359,
+ "ast_hash": "2819fceaa269a00af0f7983b8be27cdb",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_bx_menu_names.sql": {
+ "mtime": 1783254856.6707997,
+ "ast_hash": "dd145a51a8c2e84e337afbfcc662660a",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/seed_sys_menu.sql": {
+ "mtime": 1783760394.1548784,
+ "ast_hash": "5ca9ccbc5b637f058c61c7374958df06",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_menu_groups.sql": {
+ "mtime": 1783256049.450807,
+ "ast_hash": "b9960c503b9d69e5e37838c2282e4aaf",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migrate_pl_doc_reminder_menu_group.sql": {
+ "mtime": 1783256051.207137,
+ "ast_hash": "38b2defcffde886f85d8aef3c946079f",
+ "semantic_hash": ""
+ },
+ "/Users/zlwu/work/00code/shanxia2.0/backend/scripts/migration_20260711_hide_vehicle_urea_menus.sql": {
+ "mtime": 1783760394.5188968,
+ "ast_hash": "2f8542187bc2678c3a779259a43288ee",
+ "semantic_hash": ""
}
}
\ No newline at end of file
diff --git a/miniprogram/.env.example b/miniprogram/.env.example
new file mode 100644
index 000000000..5a17002f9
--- /dev/null
+++ b/miniprogram/.env.example
@@ -0,0 +1,21 @@
+# 静态资源 OSS/CDN 基址(必须以 / 结尾)
+#
+# Vite / uni-cli-vite:使用 `VITE_` 前缀
+# HBuilderX / uni-cli(webpack):使用 `VUE_APP_` 前缀
+#
+# VITE_STATIC_ASSETS_BASE_URL=https://REPLACE_PROD_STATIC_HOST/shanxia-static/
+# VUE_APP_STATIC_ASSETS_BASE_URL=https://REPLACE_PROD_STATIC_HOST/shanxia-static/
+
+# 静态资源/OSS 图片版本号(用于兜底绕过长缓存)
+# VITE_STATIC_ASSETS_VERSION=20260706
+# VUE_APP_STATIC_ASSETS_VERSION=20260706
+
+# API 应用层加密固定密钥(必须与后端 API_ENCRYPT_FIXED_SECRET 完全一致)
+# VITE_ENABLE_API_CRYPTO=true
+# VUE_APP_ENABLE_API_CRYPTO=true
+# VITE_API_ENCRYPT_FAIL_OPEN=false
+# VUE_APP_API_ENCRYPT_FAIL_OPEN=false
+# VITE_API_ENCRYPT_FIXED_SECRET=REPLACE_WITH_BACKEND_FIXED_SECRET
+# VUE_APP_API_ENCRYPT_FIXED_SECRET=REPLACE_WITH_BACKEND_FIXED_SECRET
+# VITE_API_ENCRYPT_EXCLUDE_PATHS=/web/auth/login-rsa-public-key,/web/auth/login,/web/auth/refresh-token
+# VUE_APP_API_ENCRYPT_EXCLUDE_PATHS=/web/auth/login-rsa-public-key,/web/auth/login,/web/auth/refresh-token
diff --git a/miniprogram/App.vue b/miniprogram/App.vue
new file mode 100644
index 000000000..9c49a9d2b
--- /dev/null
+++ b/miniprogram/App.vue
@@ -0,0 +1,105 @@
+
+
+
diff --git a/miniprogram/LICENSE b/miniprogram/LICENSE
new file mode 100644
index 000000000..c75f2322d
--- /dev/null
+++ b/miniprogram/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 DCloud
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/miniprogram/README.md b/miniprogram/README.md
new file mode 100644
index 000000000..035906542
--- /dev/null
+++ b/miniprogram/README.md
@@ -0,0 +1,72 @@
+# 山峡化工 · 微信小程序(miniprogram)
+
+基于 [uni-app](https://uniapp.dcloud.net.cn/) 的微信小程序工程,基础框架移植自叁强鲜配 `sqxp-wx`,已去除订单/配送等业务页面,保留可复用的基础设施,便于后续建设山峡业务。
+
+## 技术栈
+
+- uni-app(Vue 3 + Composition API)
+- Pinia(用户态)+ Vuex(hello-uniapp 遗留壳)
+- Vant Weapp(`wxcomponents`)
+- uni-ui(`uni_modules`)
+- RSA 登录加密(JSEncrypt)+ 请求封装(`utils/request.js`)
+
+## 目录说明
+
+| 路径 | 说明 |
+|------|------|
+| `pages/login/` | 登录、用户协议、隐私政策 |
+| `pages/home/` | 占位首页(登录成功后跳转) |
+| `config/` | API 基址、静态资源默认配置 |
+| `stores/` | Pinia 用户 Store |
+| `utils/` | 请求、RSA 登录、安全区、格式化等工具 |
+| `components/` | 通用组件(安全区 Header、协议正文等) |
+| `styles/` | 全局 SCSS 与 Token(对齐 `docs/miniprogram-ui-spec-sanqiang.md`) |
+| `uni_modules/` | uni-app 官方/扩展组件 |
+| `wxcomponents/` | Vant 小程序组件 |
+
+## 本地开发
+
+### 方式一:HBuilderX(推荐)
+
+1. 安装 [HBuilderX App 开发版](https://www.dcloud.io/hbuilderx.html)
+2. 用 HBuilderX 打开本目录 `miniprogram/`
+3. 在 `manifest.json` → 微信小程序 中填写你的 **AppID**
+4. 修改 `config/api.js` 中的 `DEV_BASE_URL` / `devBaseUrl`:
+ - 模拟器:`http://127.0.0.1:8000/api`
+ - 真机调试:改为电脑局域网 IP,如 `http://192.168.x.x:8000/api`
+5. 确保 `backend/` 已启动(默认 `127.0.0.1:8000`)
+6. 运行 → 运行到小程序模拟器 → 微信开发者工具
+
+### 方式二:微信开发者工具
+
+若已有编译产物,可导入 `unpackage/dist/dev/mp-weixin`(需先通过 HBuilderX 或 CLI 编译一次)。
+
+## 接口约定
+
+当前基础框架**复用 Web 管理端公共登录接口**(`backend/app/api/public.py`):
+
+- `GET /api/web/auth/login-rsa-public-key`
+- `POST /api/web/auth/login`
+- `POST /api/web/auth/logout`
+- `GET /api/web/auth/current-user`
+
+后续若拆分小程序专用 `/api/mini/*` 路由,只需调整 `config/api.js` 中 `AUTH_API` 与 `stores/user.js` 调用路径。
+
+## 发版前检查
+
+```bash
+cd miniprogram
+npm run release:remind-api # 提醒核对 API 基址
+npm run release:check-api # CI 严格模式:仍为本机地址则失败
+```
+
+## 视觉规范
+
+UI Token 与页面骨架以仓库根目录 **`docs/miniprogram-ui-spec-sanqiang.md`** 及 `mobile-ui/sanqiang-*.html` Demo 为准。主品牌色:`#0a9f6d`。
+
+## 后续建设建议
+
+1. 在 `pages/` 下按业务域新增页面(如客户端、供应商端等)
+2. 在 `pages.json` 注册路由与 tabBar
+3. 在 `api/` 目录补充业务接口模块
+4. 后端新增 `/api/mini/*` 时同步更新 `config/api.js`
diff --git a/miniprogram/changelog.md b/miniprogram/changelog.md
new file mode 100644
index 000000000..0340482c5
--- /dev/null
+++ b/miniprogram/changelog.md
@@ -0,0 +1,186 @@
+## 3.4.9(2025-06-25)
+- 适配 鸿蒙元服务
+- 更新 uni-swipe-action
+- 新增 crypto 示例和测试例
+- 新增 css 变量示例和测试例
+- 新增 web-view点击位置偏移测试例
+## 3.4.8(2025-04-10)
+- 调整 renderjs示例的平台兼容性
+## 3.4.7(2025-01-08)
+- 新增 uni-calendar显示
+- 更新 uniui 组件
+- 更新uni-id至3.3.33版本
+- 替换示例中失效图片资源地址
+## 3.4.6(2023-06-30)
+- 更新 video组件引用的视频链接
+## 3.4.4(2022-07-25)
+- 新增 同步 uni-ui@1.4.20
+ - uni-forms 【重要】组件逻辑重构,部分用法旧版本不兼容,请注意兼容问题
+ - uni-section 新增组件
+## 3.4.3(2022-07-14)
+- 修复 HBuilderX 拉取 hello uni-app 项目直接运行提示无服务空间关联的bug
+## 3.4.2(2022-07-06)
+- 新增 同步 uni-ui@1.4.18
+ - uni-forms 【重要】组件逻辑重构,部分用法旧版本不兼容,请注意兼容问题
+ - uni-forms 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力
+ - uni-forms 新增 更多表单示例
+ - uni-forms 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃
+ - uni-forms 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效
+ - uni-forms 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法
+ - uni-forms 新增 子表单的 setRules 方法,配合自定义校验函数使用
+ - uni-forms 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则
+ - uni-forms 修复 由 1.4.0 引发的 label 插槽不生效的bug
+ - uni-forms 修复 子组件找不到 setValue 报错的bug
+ - uni-forms 修复 uni-data-picker 在 uni-forms-item 中报错的bug
+ - uni-forms 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug
+ - uni-forms 修复 表单校验顺序无序问题
+ - uni-forms 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式
+ - uni-forms 优化 动态表单校验方式,废弃拼接name的方式
+ - uni-breadcrumb 修复 微信小程序 separator 不显示问题
+ - uni-data-checkbox 优化 在 uni-forms 中的依赖注入方式
+ - uni-data-picker 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug
+ - uni-data-picker 优化 显示样式
+ - uni-data-select 优化 显示样式
+ - uni-datetime-picker 修复 日历顶部年月及底部确认未国际化 bug
+ - uni-datetime-picker 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致
+ - uni-easyinput 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容
+ - uni-easyinput 新增 clear 事件,点击右侧叉号图标触发
+ - uni-easyinput 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发
+ - uni-easyinput 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等
+ - uni-easyinput 优化 clearable 显示策略
+ - uni-file-picker 修复 在uni-forms下样式不生效的bug
+ - uni-nav-bar 修复 组件示例中插槽用法无法显示内容的bug
+ - uni-swipe-action 修复 vue3 下使用组件不能正常运行的Bug
+ - uni-swipe-action 修复 h5端点击click触发两次的Bug
+ - uni-table 修复 微信小程序存在无使用组件的问题
+## 3.4.1(2022-06-30)
+- 新增 支持 ios 安全区
+## 3.3.8(2022-05-08)
+- 新增 同步 uni-ui@1.4.15
+ - uni-data-picker 修复 字节小程序 本地数据无法选择下一级的Bug
+ - uni-data-select 新增 记住上次的选项(仅 collection 存在时有效)
+ - uni-search-bar 修复 vue3 input 事件不生效的bug
+ - uni-search-bar 修复 多余代码导致的bug
+ - uni-tooltip 更新 text 属性变更为 content
+ - uni-tooltip 更新 移除 width 属性
+ - uni-tooltip 修复 组件根 text 嵌套组件 warning
+## 3.3.7(2022-04-06)
+- 新增 更新扩展组件 uni-nav-bar、uni-list 的展示页面
+## 3.3.6(2022-03-31)
+- 更新 uni-ui 组件及示例
+## 3.3.5(2022-03-30)
+- 修复 插槽兼容 vue3, slot -> v-slot
+- 新增 更新 uni-ui
+## 3.3.4(2022-02-25)
+- 修复 编译到 App 平台的控制台报错
+## 3.3.3(2022-02-23)
+- 修复 模板城市选择 vue3 报错的bug
+- 修复 删除 map.nvue 中多余的 enableOverlooking 变量
+- 修复 swipe-dot.nvue 中条件编译媒体查询
+## 3.3.2(2022-01-26)
+- 修复 默认运行到 vue2
+## 3.3.1(2022-01-26)
+- 新增 同步 uni-ui@1.4.11
+ - uni-collapse 修复 微信小程序resize后组件收起的bug
+ - uni-countdown 修复 在微信小程序中样式不生效的bug
+ - uni-countdown 新增 update 方法 ,在动态更新时间后,刷新组件
+ - uni-load-more 新增 showText属性 ,是否显示文本
+ - uni-load-more 修复 nvue 平台下不显示文本的bug
+ - uni-load-more 修复 微信小程序平台样式选择器报警告的问题
+ - uni-nav-bar 修复 在vue下,标题不垂直居中的bug
+ - uni-nav-bar 修复 height 属性类型错误
+ - uni-nav-bar 新增 height 属性,可修改组件高度
+ - uni-nav-bar 新增 dark 属性可可开启暗黑模式
+ - uni-nav-bar 优化 标题字数过多显示省略号
+ - uni-nav-bar 优化 插槽,插入内容可完全覆盖
+ - uni-popup 修复 isMaskClick 失效的bug
+ - uni-popup 新增 cancelText \ confirmText 属性 ,可自定义文本
+ - uni-popup 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色
+ - uni-popup 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题
+## 3.3.0(2022-01-04)
+- 修复 开发时在 vue3 下由 pc 端切换到手机端,不能返回上一级页面的 bug
+- 优化 去掉 pc 端 topwindow 右上角用于演示的 url 导航
+## 3.2.12(2021-12-20)
+- 新增 适配京东小程序
+## 3.2.11(2021-12-07)
+- 修复 uni-ui 在 hello-uniapp 中丢失图标、ui 受到公共样式影响等问题
+- 修复 微信登录取值报错的问题
+## 3.2.10(2021-11-30)
+- 修复 map 组件示例不显示的 bug
+## 3.2.9(2021-11-19)
+- 新增 uni-ui 以 uni_modules 方式引入,方便开发者从 hello-uniapp 中 copy 组件及示例
+- 优化 uni-ui 示例页面,完善组件示例
+## 3.2.8(2021-11-10)
+- 新增 适配飞书平台(lark)
+## 3.2.7(2021-10-26)
+- 修复 uni-popup 示例的 button 文字在 iPhone 5 上换行的 bug
+- 修复 uni-table 示例,页面顶部距离不对的 bug
+- 修复 GlobalData示例,在vue3是无效的 bug
+- 优化 删除无用的 project.swan.json 文件
+## 3.2.6(2021-10-08)
+- 由于体验问题,暂时撤销 uni-ui 以 uni_modules 方式引入的修改
+
+## 3.2.4(2021-09-07)
+- 修复 vue3 在 H5 编译报错的 bug
+- 新增 同步 uni-ui
+ - 新增 uni-ui 组件支持国际化 i18n
+ - uni-data-checkbox 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题
+ - uni-datetime-picker 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次
+ - uni-datetime-picker 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法
+ - uni-datetime-picker 优化 调整字号大小,美化日历界面
+ - uni-datetime-picker 修复 因国际化导致的 placeholder 失效的 bug
+ - uni-file-picker 修复 return-type="object" 时且存在v-model时,无法删除文件的Bug
+ - uni-file-picker 新增 参数中返回 fileID 字段
+ - uni-file-picker 修复 腾讯云传入fileID 不能回显的bug
+ - uni-file-picker 修复 选择图片后,不能放大的问题
+ - uni-link 修复 在 nvue 下不显示的 bug
+ - uni-list 修复 在vue3中to属性在发行应用的时候报错的bug
+ - uni-search-bar 修复 value 属性与 modelValue 属性不兼容的Bug
+ - uni-swipe-action 优化 close-all 方法
+ - uni-collapse 优化 show-arrow 属性默认为true
+ - uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头
+ - uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题
+ - uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug
+ - uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug
+ - uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件
+ - uni-file-picker 修复 v-model 值设为 null 报错的Bug
+ - uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件
+ - uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件
+ - uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题
+ - uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题
+
+
+## 3.2.3(2021-08-27)
+- 优化 tabbar 页面移除 vuex 相关代码
+- 新增 适配 vue3 (app)
+## 3.2.2(2021-08-10)
+- 新增 适配快手小程序
+- 新增 同步 uni-ui
+ - uni-datetime-picker 新增 return-type 属性支持返回 date 日期对象
+ - uni-file-picker 修复 fileExtname属性不指定值报错的Bug
+ - uni-file-picker 修复 在某种场景下图片不回显的Bug
+ - uni-link 支持自定义插槽
+ - uni-calendar 修复 弹出层被 tabbar 遮盖 bug
+ - uni-dateformat 调整 默认时间不再是当前时间,而是显示'-'字符
+ - uni-datetime-picker 新增 适配 vue3
+ - uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能
+ - uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug
+ - uni-datetime-picker 修复 type 属性动态赋值无效的 bug
+ - uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug
+ - uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug
+ - uni-datetime-picker 修复 范围选未正确显示当前值的 bug
+ - uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug
+ - uni-file-picker 修复 auto-upload 属性失效的Bug
+## 3.2.1(2021-07-31)
+- 新增 同步 uni-ui@1.3.8
+## 3.2.0(2021-07-30)
+- 新增 同时兼容 vue2 & vue3
+## 3.1.20(2021-07-30)
+- 新增 同时兼容 vue2 & vue3
+## 3.1.17(2021-05-26)
+- 修复 3.1.16 依赖 sass 的问题
+- 条件编译 nuve 不支持 css 属性
+## 3.1.16(2021-05-26)
+- 修复 uni-data-checkbox 不关联服务空间的情况下组件报错的 Bug
+## 3.1.12(2021-05-07)
+- hello-uniapp 发布插件市场
diff --git a/miniprogram/common/airport.js b/miniprogram/common/airport.js
new file mode 100644
index 000000000..adc05b4df
--- /dev/null
+++ b/miniprogram/common/airport.js
@@ -0,0 +1,262 @@
+export default {
+ "list": [{
+ "letter": "A",
+ "data": [
+ "阿克苏机场",
+ "阿拉山口机场",
+ "阿勒泰机场",
+ "阿里昆莎机场",
+ "安庆天柱山机场",
+ "澳门国际机场"
+ ]
+ }, {
+ "letter": "B",
+ "data": [
+ "保山机场",
+ "包头机场",
+ "北海福成机场",
+ "北京南苑机场",
+ "北京首都国际机场"
+ ]
+ }, {
+ "letter": "C",
+ "data": [
+ "长白山机场",
+ "长春龙嘉国际机场",
+ "常德桃花源机场",
+ "昌都邦达机场",
+ "长沙黄花国际机场",
+ "长治王村机场",
+ "常州奔牛机场",
+ "成都双流国际机场",
+ "赤峰机场"
+ ]
+ }, {
+ "letter": "D",
+ "data": [
+ "大理机场",
+ "大连周水子国际机场",
+ "大庆萨尔图机场",
+ "大同东王庄机场",
+ "达州河市机场",
+ "丹东浪头机场",
+ "德宏芒市机场",
+ "迪庆香格里拉机场",
+ "东营机场",
+ "敦煌机场"
+ ]
+ }, {
+ "letter": "E",
+ "data": [
+ "鄂尔多斯机场",
+ "恩施许家坪机场",
+ "二连浩特赛乌苏国际机场"
+ ]
+ }, {
+ "letter": "F",
+ "data": [
+ "阜阳西关机场",
+ "福州长乐国际机场"
+ ]
+ }, {
+ "letter": "G",
+ "data": [
+ "赣州黄金机场",
+ "格尔木机场",
+ "固原六盘山机场",
+ "广元盘龙机场",
+ "广州白云国际机场",
+ "桂林两江国际机场",
+ "贵阳龙洞堡国际机场"
+ ]
+ }, {
+ "letter": "H",
+ "data": [
+ "哈尔滨太平国际机场",
+ "哈密机场",
+ "海口美兰国际机场",
+ "海拉尔东山国际机场",
+ "邯郸机场",
+ "汉中机场",
+ "杭州萧山国际机场",
+ "合肥骆岗国际机场",
+ "和田机场",
+ "黑河机场",
+ "呼和浩特白塔国际机场",
+ "淮安涟水机场",
+ "黄山屯溪国际机场"
+ ]
+ }, {
+ "letter": "I",
+ "data": []
+ }, {
+ "letter": "J",
+ "data": [
+ "济南遥墙国际机场",
+ "济宁曲阜机场",
+ "鸡西兴凯湖机场",
+ "佳木斯东郊机场",
+ "嘉峪关机场",
+ "锦州小岭子机场",
+ "景德镇机场",
+ "井冈山机场",
+ "九江庐山机场",
+ "九寨黄龙机场"
+ ]
+ }, {
+ "letter": "K",
+ "data": [
+ "喀什机场",
+ "克拉玛依机场",
+ "库车龟兹机场",
+ "库尔勒机场",
+ "昆明巫家坝国际机场"
+ ]
+ }, {
+ "letter": "L",
+ "data": [
+ "拉萨贡嘎机场",
+ "兰州中川机场",
+ "丽江三义机场",
+ "黎平机场",
+ "连云港白塔埠机场",
+ "临沧机场",
+ "临沂机场",
+ "林芝米林机场",
+ "柳州白莲机场",
+ "龙岩冠豸山机场",
+ "泸州蓝田机场",
+ "洛阳北郊机场"
+ ]
+ }, {
+ "letter": "M",
+ "data": [
+ "满洲里西郊机场",
+ "绵阳南郊机场",
+ "漠河古莲机场",
+ "牡丹江海浪机场"
+ ]
+ }, {
+ "letter": "N",
+ "data": [
+ "南昌昌北国际机场",
+ "南充高坪机场",
+ "南京禄口国际机场",
+ "南宁吴圩机场",
+ "南通兴东机场",
+ "南阳姜营机场",
+ "宁波栎社国际机场"
+ ]
+ }, {
+ "letter": "O",
+ "data": []
+ }, {
+ "letter": "P",
+ "data": [
+ "普洱思茅机场"
+ ]
+ }, {
+ "letter": "Q",
+ "data": [
+ "齐齐哈尔三家子机场",
+ "秦皇岛山海关机场",
+ "青岛流亭国际机场",
+ "衢州机场",
+ "泉州晋江机场"
+ ]
+ }, {
+ "letter": "R",
+ "data": [
+ "日喀则和平机场"
+ ]
+ }, {
+ "letter": "S",
+ "data": [
+ "三亚凤凰国际机场",
+ "汕头外砂机场",
+ "上海虹桥国际机场",
+ "上海浦东国际机场",
+ "深圳宝安国际机场",
+ "沈阳桃仙国际机场",
+ "石家庄正定国际机场",
+ "苏南硕放国际机场"
+ ]
+ }, {
+ "letter": "T",
+ "data": [
+ "塔城机场",
+ "太原武宿国际机场",
+ "台州路桥机场 (黄岩机场)",
+ "唐山三女河机场",
+ "腾冲驼峰机场",
+ "天津滨海国际机场",
+ "通辽机场",
+ "铜仁凤凰机场"
+ ]
+ }, {
+ "letter": "U",
+ "data": []
+ }, {
+ "letter": "V",
+ "data": []
+ }, {
+ "letter": "W",
+ "data": [
+ "万州五桥机场",
+ "潍坊机场",
+ "威海大水泊机场",
+ "文山普者黑机场",
+ "温州永强国际机场",
+ "乌海机场",
+ "武汉天河国际机场",
+ "乌兰浩特机场",
+ "乌鲁木齐地窝堡国际机场",
+ "武夷山机场",
+ "梧州长洲岛机场"
+ ]
+ }, {
+ "letter": "X",
+ "data": [
+ "西安咸阳国际机场",
+ "西昌青山机场",
+ "锡林浩特机场",
+ "西宁曹家堡机场",
+ "西双版纳嘎洒机场",
+ "厦门高崎国际机场",
+ "香港国际机场",
+ "襄阳刘集机场",
+ "兴义机场",
+ "徐州观音机场"
+ ]
+ }, {
+ "letter": "Y",
+ "data": [
+ "延安二十里堡机场",
+ "盐城机场",
+ "延吉朝阳川机场",
+ "烟台莱山国际机场",
+ "宜宾菜坝机场",
+ "宜昌三峡机场",
+ "伊春林都机场",
+ "伊宁机场",
+ "义乌机场",
+ "银川河东机场",
+ "永州零陵机场",
+ "榆林榆阳机场",
+ "玉树巴塘机场",
+ "运城张孝机场"
+ ]
+ }, {
+ "letter": "Z",
+ "data": [
+ "湛江机场",
+ "昭通机场",
+ "郑州新郑国际机场",
+ "芷江机场",
+ "重庆江北国际机场",
+ "中卫香山机场",
+ "舟山朱家尖机场",
+ "珠海三灶机场"
+ ]
+ }]
+}
diff --git a/miniprogram/common/graceChecker.js b/miniprogram/common/graceChecker.js
new file mode 100644
index 000000000..682af9926
--- /dev/null
+++ b/miniprogram/common/graceChecker.js
@@ -0,0 +1,97 @@
+/**
+数据验证(表单验证)
+来自 grace.hcoder.net
+作者 hcoder 深海
+*/
+export default {
+ error:'',
+ check : function (data, rule){
+ for(var i = 0; i < rule.length; i++){
+ if (!rule[i].checkType){return true;}
+ if (!rule[i].name) {return true;}
+ if (!rule[i].errorMsg) {return true;}
+ if (!data[rule[i].name]) {this.error = rule[i].errorMsg; return false;}
+ switch (rule[i].checkType){
+ case 'string':
+ var reg = new RegExp('^.{' + rule[i].checkRule + '}$');
+ if(!reg.test(data[rule[i].name])) {this.error = rule[i].errorMsg; return false;}
+ break;
+ case 'int':
+ var reg = new RegExp('^(-[1-9]|[1-9])[0-9]{' + rule[i].checkRule + '}$');
+ if(!reg.test(data[rule[i].name])) {this.error = rule[i].errorMsg; return false;}
+ break;
+ break;
+ case 'between':
+ if (!this.isNumber(data[rule[i].name])){
+ this.error = rule[i].errorMsg;
+ return false;
+ }
+ var minMax = rule[i].checkRule.split(',');
+ minMax[0] = Number(minMax[0]);
+ minMax[1] = Number(minMax[1]);
+ if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {
+ this.error = rule[i].errorMsg;
+ return false;
+ }
+ break;
+ case 'betweenD':
+ var reg = /^-?[1-9][0-9]?$/;
+ if (!reg.test(data[rule[i].name])) { this.error = rule[i].errorMsg; return false; }
+ var minMax = rule[i].checkRule.split(',');
+ minMax[0] = Number(minMax[0]);
+ minMax[1] = Number(minMax[1]);
+ if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {
+ this.error = rule[i].errorMsg;
+ return false;
+ }
+ break;
+ case 'betweenF':
+ var reg = /^-?[0-9][0-9]?.+[0-9]+$/;
+ if (!reg.test(data[rule[i].name])){this.error = rule[i].errorMsg; return false;}
+ var minMax = rule[i].checkRule.split(',');
+ minMax[0] = Number(minMax[0]);
+ minMax[1] = Number(minMax[1]);
+ if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {
+ this.error = rule[i].errorMsg;
+ return false;
+ }
+ break;
+ case 'same':
+ if (data[rule[i].name] != rule[i].checkRule) { this.error = rule[i].errorMsg; return false;}
+ break;
+ case 'notsame':
+ if (data[rule[i].name] == rule[i].checkRule) { this.error = rule[i].errorMsg; return false; }
+ break;
+ case 'email':
+ var reg = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
+ if (!reg.test(data[rule[i].name])) { this.error = rule[i].errorMsg; return false; }
+ break;
+ case 'phoneno':
+ var reg = /^1[0-9]{10,10}$/;
+ if (!reg.test(data[rule[i].name])) { this.error = rule[i].errorMsg; return false; }
+ break;
+ case 'zipcode':
+ var reg = /^[0-9]{6}$/;
+ if (!reg.test(data[rule[i].name])) { this.error = rule[i].errorMsg; return false; }
+ break;
+ case 'reg':
+ var reg = new RegExp(rule[i].checkRule);
+ if (!reg.test(data[rule[i].name])) { this.error = rule[i].errorMsg; return false; }
+ break;
+ case 'in':
+ if(rule[i].checkRule.indexOf(data[rule[i].name]) == -1){
+ this.error = rule[i].errorMsg; return false;
+ }
+ break;
+ case 'notnull':
+ if(data[rule[i].name] == null || data[rule[i].name].length < 1){this.error = rule[i].errorMsg; return false;}
+ break;
+ }
+ }
+ return true;
+ },
+ isNumber : function (checkVal){
+ var reg = /^-?[1-9][0-9]?.?[0-9]*$/;
+ return reg.test(checkVal);
+ }
+}
\ No newline at end of file
diff --git a/miniprogram/common/html-parser.js b/miniprogram/common/html-parser.js
new file mode 100644
index 000000000..fa2d38d5e
--- /dev/null
+++ b/miniprogram/common/html-parser.js
@@ -0,0 +1,352 @@
+/*
+ * HTML5 Parser By Sam Blowes
+ *
+ * Designed for HTML5 documents
+ *
+ * Original code by John Resig (ejohn.org)
+ * http://ejohn.org/blog/pure-javascript-html-parser/
+ * Original code by Erik Arvidsson, Mozilla Public License
+ * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
+ *
+ * ----------------------------------------------------------------------------
+ * License
+ * ----------------------------------------------------------------------------
+ *
+ * This code is triple licensed using Apache Software License 2.0,
+ * Mozilla Public License or GNU Public License
+ *
+ * ////////////////////////////////////////////////////////////////////////////
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * ////////////////////////////////////////////////////////////////////////////
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * The Original Code is Simple HTML Parser.
+ *
+ * The Initial Developer of the Original Code is Erik Arvidsson.
+ * Portions created by Erik Arvidssson are Copyright (C) 2004. All Rights
+ * Reserved.
+ *
+ * ////////////////////////////////////////////////////////////////////////////
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ----------------------------------------------------------------------------
+ * Usage
+ * ----------------------------------------------------------------------------
+ *
+ * // Use like so:
+ * HTMLParser(htmlString, {
+ * start: function(tag, attrs, unary) {},
+ * end: function(tag) {},
+ * chars: function(text) {},
+ * comment: function(text) {}
+ * });
+ *
+ * // or to get an XML string:
+ * HTMLtoXML(htmlString);
+ *
+ * // or to get an XML DOM Document
+ * HTMLtoDOM(htmlString);
+ *
+ * // or to inject into an existing document/DOM node
+ * HTMLtoDOM(htmlString, document);
+ * HTMLtoDOM(htmlString, document.body);
+ *
+ */
+// Regular Expressions for parsing tags and attributes
+var startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
+var endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/;
+var attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g; // Empty Elements - HTML 5
+
+var empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr'); // Block Elements - HTML 5
+// fixed by xxx 将 ins 标签从块级名单中移除
+
+var block = makeMap('a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video'); // Inline Elements - HTML 5
+
+var inline = makeMap('abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'); // Elements that you can, intentionally, leave open
+// (and which close themselves)
+
+var closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'); // Attributes that have their values filled in disabled="disabled"
+
+var fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'); // Special Elements (can contain anything)
+
+var special = makeMap('script,style');
+function HTMLParser(html, handler) {
+ var index;
+ var chars;
+ var match;
+ var stack = [];
+ var last = html;
+
+ stack.last = function () {
+ return this[this.length - 1];
+ };
+
+ while (html) {
+ chars = true; // Make sure we're not in a script or style element
+
+ if (!stack.last() || !special[stack.last()]) {
+ // Comment
+ if (html.indexOf('');
+
+ if (index >= 0) {
+ if (handler.comment) {
+ handler.comment(html.substring(4, index));
+ }
+
+ html = html.substring(index + 3);
+ chars = false;
+ } // end tag
+
+ } else if (html.indexOf('') == 0) {
+ match = html.match(endTag);
+
+ if (match) {
+ html = html.substring(match[0].length);
+ match[0].replace(endTag, parseEndTag);
+ chars = false;
+ } // start tag
+
+ } else if (html.indexOf('<') == 0) {
+ match = html.match(startTag);
+
+ if (match) {
+ html = html.substring(match[0].length);
+ match[0].replace(startTag, parseStartTag);
+ chars = false;
+ }
+ }
+
+ if (chars) {
+ index = html.indexOf('<');
+ var text = index < 0 ? html : html.substring(0, index);
+ html = index < 0 ? '' : html.substring(index);
+
+ if (handler.chars) {
+ handler.chars(text);
+ }
+ }
+ } else {
+ html = html.replace(new RegExp('([\\s\\S]*?)<\/' + stack.last() + '[^>]*>'), function (all, text) {
+ text = text.replace(/|/g, '$1$2');
+
+ if (handler.chars) {
+ handler.chars(text);
+ }
+
+ return '';
+ });
+ parseEndTag('', stack.last());
+ }
+
+ if (html == last) {
+ throw 'Parse Error: ' + html;
+ }
+
+ last = html;
+ } // Clean up any remaining tags
+
+
+ parseEndTag();
+
+ function parseStartTag(tag, tagName, rest, unary) {
+ tagName = tagName.toLowerCase();
+
+ if (block[tagName]) {
+ while (stack.last() && inline[stack.last()]) {
+ parseEndTag('', stack.last());
+ }
+ }
+
+ if (closeSelf[tagName] && stack.last() == tagName) {
+ parseEndTag('', tagName);
+ }
+
+ unary = empty[tagName] || !!unary;
+
+ if (!unary) {
+ stack.push(tagName);
+ }
+
+ if (handler.start) {
+ var attrs = [];
+ rest.replace(attr, function (match, name) {
+ var value = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : fillAttrs[name] ? name : '';
+ attrs.push({
+ name: name,
+ value: value,
+ escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') // "
+
+ });
+ });
+
+ if (handler.start) {
+ handler.start(tagName, attrs, unary);
+ }
+ }
+ }
+
+ function parseEndTag(tag, tagName) {
+ // If no tag name is provided, clean shop
+ if (!tagName) {
+ var pos = 0;
+ } // Find the closest opened tag of the same type
+ else {
+ for (var pos = stack.length - 1; pos >= 0; pos--) {
+ if (stack[pos] == tagName) {
+ break;
+ }
+ }
+ }
+
+ if (pos >= 0) {
+ // Close all the open elements, up the stack
+ for (var i = stack.length - 1; i >= pos; i--) {
+ if (handler.end) {
+ handler.end(stack[i]);
+ }
+ } // Remove the open elements from the stack
+
+
+ stack.length = pos;
+ }
+ }
+}
+
+function makeMap(str) {
+ var obj = {};
+ var items = str.split(',');
+
+ for (var i = 0; i < items.length; i++) {
+ obj[items[i]] = true;
+ }
+
+ return obj;
+}
+
+function removeDOCTYPE(html) {
+ return html.replace(/<\?xml.*\?>\n/, '').replace(/\n/, '').replace(/\n/, '');
+}
+
+function parseAttrs(attrs) {
+ return attrs.reduce(function (pre, attr) {
+ var value = attr.value;
+ var name = attr.name;
+
+ if (pre[name]) {
+ pre[name] = pre[name] + " " + value;
+ } else {
+ pre[name] = value;
+ }
+
+ return pre;
+ }, {});
+}
+
+function parseHtml(html) {
+ html = removeDOCTYPE(html);
+ var stacks = [];
+ var results = {
+ node: 'root',
+ children: []
+ };
+ HTMLParser(html, {
+ start: function start(tag, attrs, unary) {
+ var node = {
+ name: tag
+ };
+
+ if (attrs.length !== 0) {
+ node.attrs = parseAttrs(attrs);
+ }
+
+ if (unary) {
+ var parent = stacks[0] || results;
+
+ if (!parent.children) {
+ parent.children = [];
+ }
+
+ parent.children.push(node);
+ } else {
+ stacks.unshift(node);
+ }
+ },
+ end: function end(tag) {
+ var node = stacks.shift();
+ if (node.name !== tag) console.error('invalid state: mismatch end tag');
+
+ if (stacks.length === 0) {
+ results.children.push(node);
+ } else {
+ var parent = stacks[0];
+
+ if (!parent.children) {
+ parent.children = [];
+ }
+
+ parent.children.push(node);
+ }
+ },
+ chars: function chars(text) {
+ var node = {
+ type: 'text',
+ text: text
+ };
+
+ if (stacks.length === 0) {
+ results.children.push(node);
+ } else {
+ var parent = stacks[0];
+
+ if (!parent.children) {
+ parent.children = [];
+ }
+
+ parent.children.push(node);
+ }
+ },
+ comment: function comment(text) {
+ var node = {
+ node: 'comment',
+ text: text
+ };
+ var parent = stacks[0];
+
+ if (!parent.children) {
+ parent.children = [];
+ }
+
+ parent.children.push(node);
+ }
+ });
+ return results.children;
+}
+
+export default parseHtml;
diff --git a/miniprogram/common/permission.js b/miniprogram/common/permission.js
new file mode 100644
index 000000000..717b6a343
--- /dev/null
+++ b/miniprogram/common/permission.js
@@ -0,0 +1,245 @@
+/// null = 未请求,1 = 已允许,0 = 拒绝|受限, 2 = 系统未开启
+
+var isIOS
+
+function album() {
+ var result = 0;
+ var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
+ var authStatus = PHPhotoLibrary.authorizationStatus();
+ if (authStatus === 0) {
+ result = null;
+ } else if (authStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(PHPhotoLibrary);
+ return result;
+}
+
+function camera() {
+ var result = 0;
+ var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
+ var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
+ if (authStatus === 0) {
+ result = null;
+ } else if (authStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(AVCaptureDevice);
+ return result;
+}
+
+function location() {
+ var result = 0;
+ var cllocationManger = plus.ios.import("CLLocationManager");
+ var enable = cllocationManger.locationServicesEnabled();
+ var status = cllocationManger.authorizationStatus();
+ if (!enable) {
+ result = 2;
+ } else if (status === 0) {
+ result = null;
+ } else if (status === 3 || status === 4) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(cllocationManger);
+ return result;
+}
+
+function push() {
+ var result = 0;
+ var UIApplication = plus.ios.import("UIApplication");
+ var app = UIApplication.sharedApplication();
+ var enabledTypes = 0;
+ if (app.currentUserNotificationSettings) {
+ var settings = app.currentUserNotificationSettings();
+ enabledTypes = settings.plusGetAttribute("types");
+ if (enabledTypes == 0) {
+ result = 0;
+ console.log("推送权限没有开启");
+ } else {
+ result = 1;
+ console.log("已经开启推送功能!")
+ }
+ plus.ios.deleteObject(settings);
+ } else {
+ enabledTypes = app.enabledRemoteNotificationTypes();
+ if (enabledTypes == 0) {
+ result = 3;
+ console.log("推送权限没有开启!");
+ } else {
+ result = 4;
+ console.log("已经开启推送功能!")
+ }
+ }
+ plus.ios.deleteObject(app);
+ plus.ios.deleteObject(UIApplication);
+ return result;
+}
+
+function contact() {
+ var result = 0;
+ var CNContactStore = plus.ios.import("CNContactStore");
+ var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
+ if (cnAuthStatus === 0) {
+ result = null;
+ } else if (cnAuthStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(CNContactStore);
+ return result;
+}
+
+function record() {
+ var result = null;
+ var avaudiosession = plus.ios.import("AVAudioSession");
+ var avaudio = avaudiosession.sharedInstance();
+ var status = avaudio.recordPermission();
+ console.log("permissionStatus:" + status);
+ if (status === 1970168948) {
+ result = null;
+ } else if (status === 1735552628) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(avaudiosession);
+ return result;
+}
+
+function calendar() {
+ var result = null;
+ var EKEventStore = plus.ios.import("EKEventStore");
+ var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
+ if (ekAuthStatus == 3) {
+ result = 1;
+ console.log("日历权限已经开启");
+ } else {
+ console.log("日历权限没有开启");
+ }
+ plus.ios.deleteObject(EKEventStore);
+ return result;
+}
+
+function memo() {
+ var result = null;
+ var EKEventStore = plus.ios.import("EKEventStore");
+ var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
+ if (ekAuthStatus == 3) {
+ result = 1;
+ console.log("备忘录权限已经开启");
+ } else {
+ console.log("备忘录权限没有开启");
+ }
+ plus.ios.deleteObject(EKEventStore);
+ return result;
+}
+
+
+function requestIOS(permissionID) {
+ return new Promise((resolve, reject) => {
+ switch (permissionID) {
+ case "push":
+ resolve(push());
+ break;
+ case "location":
+ resolve(location());
+ break;
+ case "record":
+ resolve(record());
+ break;
+ case "camera":
+ resolve(camera());
+ break;
+ case "album":
+ resolve(album());
+ break;
+ case "contact":
+ resolve(contact());
+ break;
+ case "calendar":
+ resolve(calendar());
+ break;
+ case "memo":
+ resolve(memo());
+ break;
+ default:
+ resolve(0);
+ break;
+ }
+ });
+}
+
+function requestAndroid(permissionID) {
+ return new Promise((resolve, reject) => {
+ plus.android.requestPermissions(
+ [permissionID],
+ function(resultObj) {
+ var result = 0;
+ for (var i = 0; i < resultObj.granted.length; i++) {
+ var grantedPermission = resultObj.granted[i];
+ console.log('已获取的权限:' + grantedPermission);
+ result = 1
+ }
+ for (var i = 0; i < resultObj.deniedPresent.length; i++) {
+ var deniedPresentPermission = resultObj.deniedPresent[i];
+ console.log('拒绝本次申请的权限:' + deniedPresentPermission);
+ result = 0
+ }
+ for (var i = 0; i < resultObj.deniedAlways.length; i++) {
+ var deniedAlwaysPermission = resultObj.deniedAlways[i];
+ console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
+ result = -1
+ }
+ resolve(result);
+ },
+ function(error) {
+ console.log('result error: ' + error.message)
+ resolve({
+ code: error.code,
+ message: error.message
+ });
+ }
+ );
+ });
+}
+
+function gotoAppPermissionSetting() {
+ if (permission.isIOS) {
+ var UIApplication = plus.ios.import("UIApplication");
+ var application2 = UIApplication.sharedApplication();
+ var NSURL2 = plus.ios.import("NSURL");
+ var setting2 = NSURL2.URLWithString("app-settings:");
+ application2.openURL(setting2);
+ plus.ios.deleteObject(setting2);
+ plus.ios.deleteObject(NSURL2);
+ plus.ios.deleteObject(application2);
+ } else {
+ var Intent = plus.android.importClass("android.content.Intent");
+ var Settings = plus.android.importClass("android.provider.Settings");
+ var Uri = plus.android.importClass("android.net.Uri");
+ var mainActivity = plus.android.runtimeMainActivity();
+ var intent = new Intent();
+ intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+ var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
+ intent.setData(uri);
+ mainActivity.startActivity(intent);
+ }
+}
+
+const permission = {
+ get isIOS(){
+ return typeof isIOS === 'boolean' ? isIOS : (isIOS = uni.getSystemInfoSync().platform === 'ios')
+ },
+ requestIOS: requestIOS,
+ requestAndroid: requestAndroid,
+ gotoAppSetting: gotoAppPermissionSetting
+}
+
+export default permission
diff --git a/miniprogram/common/uni-nvue.css b/miniprogram/common/uni-nvue.css
new file mode 100644
index 000000000..69e74118c
--- /dev/null
+++ b/miniprogram/common/uni-nvue.css
@@ -0,0 +1,136 @@
+/* #ifndef APP-PLUS-NVUE */
+page {
+ min-height: 100%;
+ height: auto;
+}
+/* #endif */
+
+/* 解决头条小程序字体图标不显示问题,因为头条运行时自动插入了span标签,且有全局字体 */
+/* #ifdef MP-TOUTIAO */
+/* text :not(view) {
+ font-family: uniicons;
+} */
+/* #endif */
+
+.uni-icon {
+ font-family: uniicons;
+ font-weight: normal;
+}
+
+.uni-container {
+ padding: 15px;
+ background-color: #f8f8f8;
+}
+
+.uni-header-logo {
+ /* #ifdef H5 */
+ display: flex;
+ /* #endif */
+ padding: 15px 15px;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin-top: 10rpx;
+}
+
+.uni-header-image {
+ width: 80px;
+ height: 80px;
+}
+
+.uni-hello-text {
+ margin-bottom: 20px;
+}
+
+.hello-text {
+ color: #7A7E83;
+ font-size: 14px;
+ line-height: 20px;
+}
+
+.hello-link {
+ color: #7A7E83;
+ font-size: 14px;
+ line-height: 20px;
+}
+
+.uni-panel {
+ margin-bottom: 12px;
+}
+
+.uni-panel-h {
+ /* #ifdef H5 */
+ display: flex;
+ /* #endif */
+ background-color: #ffffff;
+ flex-direction: row !important;
+ /* justify-content: space-between !important; */
+ align-items: center !important;
+ padding: 12px;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+}
+/*
+.uni-panel-h:active {
+ background-color: #f8f8f8;
+}
+ */
+.uni-panel-h-on {
+ background-color: #f0f0f0;
+}
+
+.uni-panel-text {
+ flex: 1;
+ color: #000000;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.uni-panel-icon {
+ margin-left: 15px;
+ color: #999999;
+ font-size: 14px;
+ font-weight: normal;
+ transform: rotate(0deg);
+ transition-duration: 0s;
+ transition-property: transform;
+}
+
+.uni-panel-icon-on {
+ transform: rotate(180deg);
+}
+
+.uni-navigate-item {
+ /* #ifdef H5 */
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ align-items: center;
+ background-color: #FFFFFF;
+ border-top-style: solid;
+ border-top-color: #f0f0f0;
+ border-top-width: 1px;
+ padding: 12px;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+}
+
+.uni-navigate-item:active {
+ background-color: #f8f8f8;
+}
+
+.uni-navigate-text {
+ flex: 1;
+ color: #000000;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.uni-navigate-icon {
+ margin-left: 15px;
+ color: #999999;
+ font-size: 14px;
+ font-weight: normal;
+}
diff --git a/miniprogram/common/uni.css b/miniprogram/common/uni.css
new file mode 100644
index 000000000..d6d9404b4
--- /dev/null
+++ b/miniprogram/common/uni.css
@@ -0,0 +1,1486 @@
+/* 字体 URL 默认测试环境;生产发版请改为 STATIC_ASSETS_BASE_URL_PRODUCTION 对应地址 */
+@font-face {
+ font-family: uniicons;
+ font-weight: normal;
+ font-style: normal;
+ /* 使用项目内字体资源,避免绑定某个环境的 OSS 域名 */
+ src: url('/uni_modules/uni-icons/components/uni-icons/uni.ttf') format('truetype');
+}
+
+/* #ifdef H5 */
+.fix-left-window {
+ padding-left: var(--window-left);
+}
+.pc-hide {
+ display: none !important;
+}
+/* #endif */
+
+/*通用 */
+
+/* view{
+ font-size:28rpx;
+ line-height:1.8;
+} */
+progress, checkbox-group{
+ width: 100%;
+}
+form {
+ width: 100%;
+}
+.uni-flex {
+ display: flex;
+ flex-direction: row;
+}
+.uni-flex-item {
+ flex: 1;
+}
+.uni-row {
+ flex-direction: row;
+}
+.uni-column {
+ flex-direction: column;
+}
+.uni-link{
+ color:#576B95;
+ font-size:26rpx;
+}
+.uni-center{
+ text-align:center;
+}
+.uni-inline-item{
+ display: flex;
+ flex-direction: row;
+ align-items:center;
+}
+.uni-inline-item text{
+ margin-right: 20rpx;
+}
+.uni-inline-item text:last-child{
+ margin-right: 0rpx;
+ margin-left: 20rpx;
+}
+
+/* page */
+.common-page-head{
+ padding:35rpx;
+ text-align: center;
+}
+.common-page-head-title {
+ display: inline-block;
+ padding: 0 40rpx;
+ font-size: 30rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ color: #BEBEBE;
+ box-sizing: border-box;
+ border-bottom: 2rpx solid #D8D8D8;
+}
+
+.uni-padding-wrap{
+ /* width:690rpx; */
+ padding:0 30rpx;
+}
+.uni-word {
+ text-align: center;
+ padding:200rpx 100rpx;
+}
+.uni-title {
+ font-size:30rpx;
+ font-weight:500;
+ padding:20rpx 0;
+ line-height:1.5;
+}
+.uni-text{
+ font-size:28rpx;
+}
+.uni-title text{
+ font-size:24rpx;
+ color:#888;
+}
+
+.uni-text-gray{
+ color: #ccc;
+}
+.uni-text-small {
+ font-size:24rpx;
+}
+.uni-common-mb{
+ margin-bottom:30rpx;
+}
+.uni-common-pb{
+ padding-bottom:30rpx;
+}
+.uni-common-pl{
+ padding-left:30rpx;
+}
+.uni-common-mt{
+ margin-top:30rpx;
+}
+/* 背景色 */
+.uni-bg-red{
+ background:#F76260; color:#FFF;
+}
+.uni-bg-green{
+ background:#09BB07; color:#FFF;
+}
+.uni-bg-blue{
+ background:#007AFF; color:#FFF;
+}
+/* 标题 */
+.uni-h1 {font-size: 80rpx; font-weight:700;}
+.uni-h2 {font-size: 60rpx; font-weight:700;}
+.uni-h3 {font-size: 48rpx; font-weight:700;}
+.uni-h4 {font-size: 36rpx; font-weight:700;}
+.uni-h5 {font-size: 28rpx; color: #8f8f94;}
+.uni-h6 {font-size: 24rpx; color: #8f8f94;}
+.uni-bold{font-weight:bold;}
+
+/* 文本溢出隐藏 */
+.uni-ellipsis {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* 竖向百分百按钮 */
+.uni-btn-v{
+ padding:10rpx 0;
+}
+.uni-btn-v button{margin:20rpx 0;}
+
+/* 表单 */
+.uni-form-item{
+ display:flex;
+ width:100%;
+ padding:10rpx 0;
+}
+.uni-form-item .title{
+ padding:10rpx 25rpx;
+}
+.uni-label {
+ width: 210rpx;
+ word-wrap: break-word;
+ word-break: break-all;
+ text-indent:20rpx;
+}
+.uni-input {
+ height: 50rpx;
+ padding: 15rpx 25rpx;
+ line-height:50rpx;
+ font-size:28rpx;
+ background:#FFF;
+ flex: 1;
+}
+radio-group, checkbox-group{
+ width:100%;
+}
+radio-group label, checkbox-group label{
+ padding-right:20rpx;
+}
+.uni-form-item .with-fun{
+ display:flex;
+ flex-wrap:nowrap;
+ background:#FFFFFF;
+}
+.uni-form-item .with-fun .uni-icon{
+ width:40px;
+ height:80rpx;
+ line-height:80rpx;
+ flex-shrink:0;
+}
+
+/* loadmore */
+.uni-loadmore{
+ height:80rpx;
+ line-height:80rpx;
+ text-align:center;
+ padding-bottom:30rpx;
+}
+/*数字角标*/
+/* .uni-badge,
+.uni-badge-default {
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 12px;
+ line-height: 1;
+ display: inline-block;
+ padding: 3px 6px;
+ color: #333;
+ border-radius: 100px;
+ background-color: rgba(0, 0, 0, .15);
+} */
+.uni-badge.uni-badge-inverted {
+ padding: 0 5px 0 0;
+ color: #929292;
+ background-color: transparent
+}
+.uni-badge-primary {
+ color: #fff;
+ background-color: #007aff
+}
+.uni-badge-blue.uni-badge-inverted,
+.uni-badge-primary.uni-badge-inverted {
+ color: #007aff;
+ background-color: transparent
+}
+.uni-badge-green,
+.uni-badge-success {
+ color: #fff;
+ background-color: #4cd964;
+}
+.uni-badge-green.uni-badge-inverted,
+.uni-badge-success.uni-badge-inverted {
+ color: #4cd964;
+ background-color: transparent
+}
+.uni-badge-warning,
+.uni-badge-yellow {
+ color: #fff;
+ background-color: #f0ad4e
+}
+.uni-badge-warning.uni-badge-inverted,
+.uni-badge-yellow.uni-badge-inverted {
+ color: #f0ad4e;
+ background-color: transparent
+}
+.uni-badge-danger,
+.uni-badge-red {
+ color: #fff;
+ background-color: #dd524d
+}
+.uni-badge-danger.uni-badge-inverted,
+.uni-badge-red.uni-badge-inverted {
+ color: #dd524d;
+ background-color: transparent
+}
+.uni-badge-purple,
+.uni-badge-royal {
+ color: #fff;
+ background-color: #8a6de9
+}
+.uni-badge-purple.uni-badge-inverted,
+.uni-badge-royal.uni-badge-inverted {
+ color: #8a6de9;
+ background-color: transparent
+}
+
+/*折叠面板 */
+.uni-collapse-content {
+ height: 0;
+ width: 100%;
+ overflow: hidden;
+}
+.uni-collapse-content.uni-active {
+ height: auto;
+}
+
+/*卡片视图 */
+.uni-card {
+ background: #fff;
+ border-radius: 8rpx;
+ margin:20rpx 0;
+ position: relative;
+ /* box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, .3); */
+}
+.uni-card-content {
+ font-size: 30rpx;
+}
+.uni-card-content.image-view{
+ width: 100%;
+ margin: 0;
+}
+.uni-card-content-inner {
+ position: relative;
+ padding: 30rpx;
+}
+.uni-card-footer,
+.uni-card-header {
+ position: relative;
+ display: flex;
+ min-height: 50rpx;
+ padding: 20rpx 30rpx;
+ justify-content: space-between;
+ align-items: center;
+}
+.uni-card-header {
+ font-size: 36rpx;
+}
+.uni-card-footer {
+ color: #6d6d72;
+}
+.uni-card-footer:before,
+.uni-card-header:after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ height: 2rpx;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+.uni-card-header:after {
+ top: auto;
+ bottom: 0;
+}
+.uni-card-media {
+ justify-content: flex-start;
+}
+.uni-card-media-logo {
+ height: 84rpx;
+ width: 84rpx;
+ margin-right: 20rpx;
+}
+.uni-card-media-body {
+ height: 84rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+.uni-card-media-text-top {
+ line-height: 36rpx;
+ font-size: 34rpx;
+}
+.uni-card-media-text-bottom {
+ line-height: 30rpx;
+ font-size: 28rpx;
+ color: #8f8f94;
+}
+.uni-card-link {
+ color: #007AFF;
+}
+
+/* 列表 */
+.uni-list {
+ background-color: #FFFFFF;
+ position: relative;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+}
+.uni-list:after {
+ position: absolute;
+ z-index: 10;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ height: 1px;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+/* .uni-list::before {
+ position: absolute;
+ z-index: 10;
+ right: 0;
+ top: 0;
+ left: 0;
+ height: 1px;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+} */
+.uni-list-cell {
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
+.uni-list-cell-hover {
+ background-color: #eee;
+}
+.uni-list-cell-pd {
+ padding: 22rpx 30rpx;
+}
+.uni-list-cell-left {
+ white-space: nowrap;
+ font-size:28rpx;
+ padding: 0 30rpx;
+}
+.uni-list-cell-db,
+.uni-list-cell-right {
+ flex: 1;
+}
+.uni-list-cell::after {
+ position: absolute;
+ z-index: 3;
+ right: 0;
+ bottom: 0;
+ left: 30rpx;
+ height: 1px;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+.uni-list .uni-list-cell:last-child::after {
+ height: 0rpx;
+}
+.uni-list-cell-last.uni-list-cell::after {
+ height: 0rpx;
+}
+.uni-list-cell-divider {
+ position: relative;
+ display: flex;
+ color: #999;
+ background-color: #f7f7f7;
+ padding:15rpx 20rpx;
+}
+.uni-list-cell-divider::before {
+ position: absolute;
+ right: 0;
+ top: 0;
+ left: 0;
+ height: 1px;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+.uni-list-cell-divider::after {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0rpx;
+ height: 1px;
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+.uni-list-cell-navigate {
+ font-size:30rpx;
+ padding: 22rpx 30rpx;
+ line-height: 48rpx;
+ position: relative;
+ display: flex;
+ box-sizing: border-box;
+ width: 100%;
+ flex: 1;
+ justify-content: space-between;
+ align-items: center;
+}
+.uni-list-cell-navigate {
+ padding-right: 36rpx;
+}
+.uni-navigate-badge {
+ padding-right: 50rpx;
+}
+.uni-list-cell-navigate.uni-navigate-right:after {
+ font-family: uniicons;
+ content: '\e583';
+ position: absolute;
+ right: 24rpx;
+ top: 50%;
+ color: #bbb;
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.uni-list-cell-navigate.uni-navigate-bottom:after {
+ font-family: uniicons;
+ content: '\e581';
+ position: absolute;
+ right: 24rpx;
+ top: 50%;
+ color: #bbb;
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.uni-list-cell-navigate.uni-navigate-bottom.uni-active::after {
+ font-family: uniicons;
+ content: '\e580';
+ position: absolute;
+ right: 24rpx;
+ top: 50%;
+ color: #bbb;
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.uni-collapse.uni-list-cell {
+ flex-direction: column;
+}
+.uni-list-cell-navigate.uni-active {
+ background: #eee;
+}
+.uni-list.uni-collapse {
+ box-sizing: border-box;
+ height: 0;
+ overflow: hidden;
+}
+.uni-collapse .uni-list-cell {
+ padding-left: 20rpx;
+}
+.uni-collapse .uni-list-cell::after {
+ left: 52rpx;
+}
+.uni-list.uni-active {
+ height: auto;
+}
+
+/* 三行列表 */
+.uni-triplex-row {
+ display: flex;
+ flex: 1;
+ width: 100%;
+ box-sizing: border-box;
+ flex-direction: row;
+ padding: 22rpx 30rpx;
+}
+.uni-triplex-right,
+.uni-triplex-left {
+ display: flex;
+ flex-direction: column;
+}
+.uni-triplex-left {
+ width: 84%;
+}
+.uni-triplex-left .uni-title{
+ padding:8rpx 0;
+}
+.uni-triplex-left .uni-text, .uni-triplex-left .uni-text-small{color:#999999;}
+.uni-triplex-right {
+ width: 16%;
+ text-align: right;
+}
+
+/* 图文列表 */
+.uni-media-list {
+ padding: 22rpx 30rpx;
+ box-sizing: border-box;
+ display: flex;
+ width: 100%;
+ flex-direction: row;
+}
+.uni-navigate-right.uni-media-list {
+ padding-right: 74rpx;
+}
+.uni-pull-right {
+ flex-direction: row-reverse;
+}
+.uni-pull-right>.uni-media-list-logo {
+ margin-right: 0rpx;
+ margin-left: 20rpx;
+}
+.uni-media-list-logo {
+ height: 84rpx;
+ width: 84rpx;
+ margin-right: 20rpx;
+}
+.uni-media-list-logo image {
+ height: 100%;
+ width: 100%;
+}
+.uni-media-list-body {
+ height: 84rpx;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: flex-start;
+ overflow: hidden;
+}
+.uni-media-list-text-top {
+ width: 100%;
+ line-height: 36rpx;
+ font-size: 30rpx;
+}
+.uni-media-list-text-bottom {
+ width: 100%;
+ line-height: 30rpx;
+ font-size: 26rpx;
+ color: #8f8f94;
+}
+
+/* 九宫格 */
+.uni-grid-9 {
+ background: #f2f2f2;
+ width: 750rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ border-top: 2rpx solid #eee;
+}
+.uni-grid-9-item {
+ width: 250rpx;
+ height: 200rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ border-bottom: 2rpx solid;
+ border-right: 2rpx solid;
+ border-color: #eee;
+ box-sizing: border-box;
+}
+.no-border-right {
+ border-right: none;
+}
+.uni-grid-9-image {
+ width: 100rpx;
+ height: 100rpx;
+}
+.uni-grid-9-text {
+ width: 250rpx;
+ line-height: 4rpx;
+ height: 40rpx;
+ text-align: center;
+ font-size: 30rpx;
+}
+.uni-grid-9-item-hover {
+ background: rgba(0, 0, 0, 0.1);
+}
+
+/* 上传 */
+.uni-uploader {
+ flex: 1;
+ flex-direction: column;
+}
+.uni-uploader-head {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+}
+.uni-uploader-info {
+ color: #B2B2B2;
+}
+.uni-uploader-body {
+ margin-top: 16rpx;
+}
+.uni-uploader__files {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+}
+.uni-uploader__file {
+ margin: 10rpx;
+ width: 210rpx;
+ height: 210rpx;
+}
+.uni-uploader__img {
+ display: block;
+ width: 210rpx;
+ height: 210rpx;
+}
+.uni-uploader__input-box {
+ position: relative;
+ margin:10rpx;
+ width: 208rpx;
+ height: 208rpx;
+ border: 2rpx solid #D9D9D9;
+}
+.uni-uploader__input-box:before,
+.uni-uploader__input-box:after {
+ content: " ";
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ background-color: #D9D9D9;
+}
+.uni-uploader__input-box:before {
+ width: 4rpx;
+ height: 79rpx;
+}
+.uni-uploader__input-box:after {
+ width: 79rpx;
+ height: 4rpx;
+}
+.uni-uploader__input-box:active {
+ border-color: #999999;
+}
+.uni-uploader__input-box:active:before,
+.uni-uploader__input-box:active:after {
+ background-color: #999999;
+}
+.uni-uploader__input {
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+}
+
+/*问题反馈*/
+.feedback-title {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx;
+ color: #8f8f94;
+ font-size: 28rpx;
+}
+.feedback-star-view.feedback-title {
+ justify-content: flex-start;
+ margin: 0;
+}
+.feedback-quick {
+ position: relative;
+ padding-right: 40rpx;
+}
+.feedback-quick:after {
+ font-family: uniicons;
+ font-size: 40rpx;
+ content: '\e581';
+ position: absolute;
+ right: 0;
+ top: 50%;
+ color: #bbb;
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.feedback-body {
+ background: #fff;
+}
+.feedback-textare {
+ height: 200rpx;
+ font-size: 34rpx;
+ line-height: 50rpx;
+ width: 100%;
+ box-sizing: border-box;
+ padding: 20rpx 30rpx 0;
+}
+.feedback-input {
+ font-size: 34rpx;
+ height: 50rpx;
+ min-height: 50rpx;
+ padding: 15rpx 20rpx;
+ line-height: 50rpx;
+}
+.feedback-uploader {
+ padding: 22rpx 20rpx;
+}
+.feedback-star {
+ font-family: uniicons;
+ font-size: 40rpx;
+ margin-left: 6rpx;
+}
+.feedback-star-view {
+ margin-left: 20rpx;
+}
+.feedback-star:after {
+ content: '\e408';
+}
+.feedback-star.active {
+ color: #FFB400;
+}
+.feedback-star.active:after {
+ content: '\e438';
+}
+.feedback-submit {
+ background: #007AFF;
+ color: #FFFFFF;
+ margin: 20rpx;
+}
+
+/* input group */
+.uni-input-group {
+ position: relative;
+ padding: 0;
+ border: 0;
+ background-color: #fff;
+}
+
+.uni-input-group:before {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ height: 2rpx;
+ content: '';
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+
+.uni-input-group:after {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ height: 2rpx;
+ content: '';
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+
+.uni-input-row {
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ font-size:28rpx;
+ padding: 22rpx 30rpx;
+ justify-content: space-between;
+}
+
+.uni-input-group .uni-input-row:after {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 30rpx;
+ height: 2rpx;
+ content: '';
+ transform: scaleY(.5);
+ background-color: #c8c7cc;
+}
+
+.uni-input-row label {
+ line-height: 70rpx;
+}
+
+/* textarea */
+.uni-textarea{
+ width:100%;
+ background:#FFF;
+}
+.uni-textarea textarea{
+ width:96%;
+ padding:18rpx 2%;
+ line-height:1.6;
+ font-size:28rpx;
+ height:150rpx;
+}
+
+/* tab bar */
+.uni-tab-bar {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ overflow: hidden;
+ height: 100%;
+}
+
+.uni-tab-bar .list {
+ width: 750rpx;
+ height: 100%;
+}
+
+.uni-swiper-tab {
+ width: 100%;
+ white-space: nowrap;
+ line-height: 100rpx;
+ height: 100rpx;
+ border-bottom: 1px solid #c8c7cc;
+}
+
+.swiper-tab-list {
+ font-size: 30rpx;
+ width: 150rpx;
+ display: inline-block;
+ text-align: center;
+ color: #555;
+}
+
+.uni-tab-bar .active {
+ color: #007AFF;
+}
+
+.uni-tab-bar .swiper-box {
+ flex: 1;
+ width: 100%;
+ height: calc(100% - 100rpx);
+}
+
+.uni-tab-bar-loading{
+ padding:20rpx 0;
+}
+
+/* comment */
+.uni-comment{padding:5rpx 0; display: flex; flex-grow:1; flex-direction: column;}
+.uni-comment-list{flex-wrap:nowrap; padding:10rpx 0; margin:10rpx 0; width:100%; display: flex;}
+.uni-comment-face{width:70rpx; height:70rpx; border-radius:100%; margin-right:20rpx; flex-shrink:0; overflow:hidden;}
+.uni-comment-face image{width:100%; border-radius:100%;}
+.uni-comment-body{width:100%;}
+.uni-comment-top{line-height:1.5em; justify-content:space-between;}
+.uni-comment-top text{color:#0A98D5; font-size:24rpx;}
+.uni-comment-date{line-height:38rpx; flex-direction:row; justify-content:space-between; display:flex !important; flex-grow:1;}
+.uni-comment-date view{color:#666666; font-size:24rpx; line-height:38rpx;}
+.uni-comment-content{line-height:1.6em; font-size:28rpx; padding:8rpx 0;}
+.uni-comment-replay-btn{background:#FFF; font-size:24rpx; line-height:28rpx; padding:5rpx 20rpx; border-radius:30rpx; color:#333 !important; margin:0 10rpx;}
+
+/* swiper msg */
+.uni-swiper-msg{width:100%; padding:12rpx 0; flex-wrap:nowrap; display:flex;}
+.uni-swiper-msg-icon{width:50rpx; margin-right:20rpx;}
+.uni-swiper-msg-icon image{width:100%; flex-shrink:0;}
+.uni-swiper-msg swiper{width:100%; height:50rpx;}
+.uni-swiper-msg swiper-item{line-height:50rpx;}
+
+/* product */
+.uni-product-list {
+ display: flex;
+ width: 100%;
+ flex-wrap: wrap;
+ flex-direction: row;
+}
+
+.uni-product {
+ padding: 20rpx;
+ display: flex;
+ flex-direction: column;
+}
+
+.image-view {
+ height: 330rpx;
+ width: 330rpx;
+ margin:12rpx 0;
+}
+
+.uni-product-image {
+ height: 330rpx;
+ width: 330rpx;
+}
+
+.uni-product-title {
+ width: 300rpx;
+ word-break: break-all;
+ display: -webkit-box;
+ overflow: hidden;
+ line-height:1.5;
+ text-overflow: ellipsis;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.uni-product-price {
+ margin-top:10rpx;
+ font-size: 28rpx;
+ line-height:1.5;
+ position: relative;
+}
+
+.uni-product-price-original {
+ color: #e80080;
+}
+
+.uni-product-price-favour {
+ color: #888888;
+ text-decoration: line-through;
+ margin-left: 10rpx;
+}
+
+.uni-product-tip {
+ position: absolute;
+ right: 10rpx;
+ background-color: #ff3333;
+ color: #ffffff;
+ padding: 0 10rpx;
+ border-radius: 5rpx;
+}
+
+/* timeline */
+.uni-timeline {
+ margin: 35rpx 0;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ }
+
+
+ .uni-timeline-item {
+ display: flex;
+ flex-direction: row;
+ position: relative;
+ padding-bottom: 20rpx;
+ box-sizing: border-box;
+ overflow: hidden;
+
+ }
+
+ .uni-timeline-item .uni-timeline-item-keynode {
+ width: 160rpx;
+ flex-shrink: 0;
+ box-sizing: border-box;
+ padding-right: 20rpx;
+ text-align: right;
+ line-height: 65rpx;
+ }
+
+ .uni-timeline-item .uni-timeline-item-divider {
+ flex-shrink: 0;
+ position: relative;
+ width: 30rpx;
+ height: 30rpx;
+ top: 15rpx;
+ border-radius: 50%;
+ background-color: #bbb;
+ }
+
+
+
+ .uni-timeline-item-divider::before,
+ .uni-timeline-item-divider::after {
+ position: absolute;
+ left: 15rpx;
+ width: 1rpx;
+ height: 100vh;
+ content: '';
+ background: inherit;
+ }
+
+ .uni-timeline-item-divider::before {
+ bottom: 100%;
+ }
+
+ .uni-timeline-item-divider::after {
+ top: 100%;
+ }
+
+
+ .uni-timeline-last-item .uni-timeline-item-divider:after {
+ display: none;
+ }
+
+ .uni-timeline-first-item .uni-timeline-item-divider:before {
+ display: none;
+ }
+
+ .uni-timeline-item .uni-timeline-item-content {
+ padding-left: 20rpx;
+ }
+
+ .uni-timeline-last-item .bottom-border::after{
+ display: none;
+ }
+
+ .uni-timeline-item-content .datetime{
+ color: #CCCCCC;
+ }
+
+ /* 自定义节点颜色 */
+ .uni-timeline-last-item .uni-timeline-item-divider{
+ background-color: #1AAD19;
+ }
+
+
+/* uni-icon */
+
+.uni-icon {
+ font-family: uniicons;
+ font-size: 24px;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+ display: inline-block;
+ text-decoration: none;
+ -webkit-font-smoothing: antialiased;
+}
+
+.uni-icon.uni-active {
+ color: #007aff;
+}
+
+.uni-icon-contact:before {
+ content: '\e100';
+}
+
+.uni-icon-person:before {
+ content: '\e101';
+}
+
+.uni-icon-personadd:before {
+ content: '\e102';
+}
+
+.uni-icon-contact-filled:before {
+ content: '\e130';
+}
+
+.uni-icon-person-filled:before {
+ content: '\e131';
+}
+
+.uni-icon-personadd-filled:before {
+ content: '\e132';
+}
+
+.uni-icon-phone:before {
+ content: '\e200';
+}
+
+.uni-icon-email:before {
+ content: '\e201';
+}
+
+.uni-icon-chatbubble:before {
+ content: '\e202';
+}
+
+.uni-icon-chatboxes:before {
+ content: '\e203';
+}
+
+.uni-icon-phone-filled:before {
+ content: '\e230';
+}
+
+.uni-icon-email-filled:before {
+ content: '\e231';
+}
+
+.uni-icon-chatbubble-filled:before {
+ content: '\e232';
+}
+
+.uni-icon-chatboxes-filled:before {
+ content: '\e233';
+}
+
+.uni-icon-weibo:before {
+ content: '\e260';
+}
+
+.uni-icon-weixin:before {
+ content: '\e261';
+}
+
+.uni-icon-pengyouquan:before {
+ content: '\e262';
+}
+
+.uni-icon-chat:before {
+ content: '\e263';
+}
+
+.uni-icon-qq:before {
+ content: '\e264';
+}
+
+.uni-icon-videocam:before {
+ content: '\e300';
+}
+
+.uni-icon-camera:before {
+ content: '\e301';
+}
+
+.uni-icon-mic:before {
+ content: '\e302';
+}
+
+.uni-icon-location:before {
+ content: '\e303';
+}
+
+.uni-icon-mic-filled:before,
+.uni-icon-speech:before {
+ content: '\e332';
+}
+
+.uni-icon-location-filled:before {
+ content: '\e333';
+}
+
+.uni-icon-micoff:before {
+ content: '\e360';
+}
+
+.uni-icon-image:before {
+ content: '\e363';
+}
+
+.uni-icon-map:before {
+ content: '\e364';
+}
+
+.uni-icon-compose:before {
+ content: '\e400';
+}
+
+.uni-icon-trash:before {
+ content: '\e401';
+}
+
+.uni-icon-upload:before {
+ content: '\e402';
+}
+
+.uni-icon-download:before {
+ content: '\e403';
+}
+
+.uni-icon-close:before {
+ content: '\e404';
+}
+
+.uni-icon-redo:before {
+ content: '\e405';
+}
+
+.uni-icon-undo:before {
+ content: '\e406';
+}
+
+.uni-icon-refresh:before {
+ content: '\e407';
+}
+
+.uni-icon-star:before {
+ content: '\e408';
+}
+
+.uni-icon-plus:before {
+ content: '\e409';
+}
+
+.uni-icon-minus:before {
+ content: '\e410';
+}
+
+.uni-icon-circle:before,
+.uni-icon-checkbox:before {
+ content: '\e411';
+}
+
+.uni-icon-close-filled:before,
+.uni-icon-clear:before {
+ content: '\e434';
+}
+
+.uni-icon-refresh-filled:before {
+ content: '\e437';
+}
+
+.uni-icon-star-filled:before {
+ content: '\e438';
+}
+
+.uni-icon-plus-filled:before {
+ content: '\e439';
+}
+
+.uni-icon-minus-filled:before {
+ content: '\e440';
+}
+
+.uni-icon-circle-filled:before {
+ content: '\e441';
+}
+
+.uni-icon-checkbox-filled:before {
+ content: '\e442';
+}
+
+.uni-icon-closeempty:before {
+ content: '\e460';
+}
+
+.uni-icon-refreshempty:before {
+ content: '\e461';
+}
+
+.uni-icon-reload:before {
+ content: '\e462';
+}
+
+.uni-icon-starhalf:before {
+ content: '\e463';
+}
+
+.uni-icon-spinner:before {
+ content: '\e464';
+}
+
+.uni-icon-spinner-cycle:before {
+ content: '\e465';
+}
+
+.uni-icon-search:before {
+ content: '\e466';
+}
+
+.uni-icon-plusempty:before {
+ content: '\e468';
+}
+
+.uni-icon-forward:before {
+ content: '\e470';
+}
+
+.uni-icon-back:before,
+.uni-icon-left-nav:before {
+ content: '\e471';
+}
+
+.uni-icon-checkmarkempty:before {
+ content: '\e472';
+}
+
+.uni-icon-home:before {
+ content: '\e500';
+}
+
+.uni-icon-navigate:before {
+ content: '\e501';
+}
+
+.uni-icon-gear:before {
+ content: '\e502';
+}
+
+.uni-icon-paperplane:before {
+ content: '\e503';
+}
+
+.uni-icon-info:before {
+ content: '\e504';
+}
+
+.uni-icon-help:before {
+ content: '\e505';
+}
+
+.uni-icon-locked:before {
+ content: '\e506';
+}
+
+.uni-icon-more:before {
+ content: '\e507';
+}
+
+.uni-icon-flag:before {
+ content: '\e508';
+}
+
+.uni-icon-home-filled:before {
+ content: '\e530';
+}
+
+.uni-icon-gear-filled:before {
+ content: '\e532';
+}
+
+.uni-icon-info-filled:before {
+ content: '\e534';
+}
+
+.uni-icon-help-filled:before {
+ content: '\e535';
+}
+
+.uni-icon-more-filled:before {
+ content: '\e537';
+}
+
+.uni-icon-settings:before {
+ content: '\e560';
+}
+
+.uni-icon-list:before {
+ content: '\e562';
+}
+
+.uni-icon-bars:before {
+ content: '\e563';
+}
+
+.uni-icon-loop:before {
+ content: '\e565';
+}
+
+.uni-icon-paperclip:before {
+ content: '\e567';
+}
+
+.uni-icon-eye:before {
+ content: '\e568';
+}
+
+.uni-icon-arrowup:before {
+ content: '\e580';
+}
+
+.uni-icon-arrowdown:before {
+ content: '\e581';
+}
+
+.uni-icon-arrowleft:before {
+ content: '\e582';
+}
+
+.uni-icon-arrowright:before {
+ content: '\e583';
+}
+
+.uni-icon-arrowthinup:before {
+ content: '\e584';
+}
+
+.uni-icon-arrowthindown:before {
+ content: '\e585';
+}
+
+.uni-icon-arrowthinleft:before {
+ content: '\e586';
+}
+
+.uni-icon-arrowthinright:before {
+ content: '\e587';
+}
+
+.uni-icon-pulldown:before {
+ content: '\e588';
+}
+
+.uni-icon-scan:before {
+ content: "\e612";
+}
+
+/* 分界线 */
+.uni-divider{
+ height: 110rpx;
+ display: flex;
+ align-items:center;
+ justify-content: center;
+ position: relative;
+}
+.uni-divider__content{
+ font-size: 28rpx;
+ color: #999;
+ padding: 0 20rpx;
+ position: relative;
+ z-index: 101;
+ background: #F4F5F6;
+}
+.uni-divider__line{
+ background-color: #CCCCCC;
+ height: 1px;
+ width: 100%;
+ position: absolute;
+ z-index: 100;
+ top: 50%;
+ left: 0;
+ transform: translateY(50%);
+}
+
+.left-win-active text{
+ color: #007AFF !important;
+}
+
+/* ============================================
+ 金额/单价全局视觉统一
+ 规则:涉及 price/amount/money/total/fee 的展示文本统一红色 + 小一档字号
+ ============================================ */
+text[class*='price'],
+text[class*='amount'],
+text[class*='money'],
+text[class*='total'],
+text[class*='subtotal'],
+text[class*='fee'],
+view[class*='price'],
+view[class*='amount'],
+view[class*='money'],
+view[class*='total'],
+view[class*='subtotal'],
+view[class*='fee'],
+.price,
+.amount,
+.money,
+.total,
+.subtotal,
+.fee {
+ color: #d32f2f !important;
+ font-size: 24rpx !important;
+}
diff --git a/miniprogram/common/util.js b/miniprogram/common/util.js
new file mode 100644
index 000000000..727069b9f
--- /dev/null
+++ b/miniprogram/common/util.js
@@ -0,0 +1,73 @@
+function formatTime(time) {
+ if (typeof time !== 'number' || time < 0) {
+ return time
+ }
+
+ var hour = parseInt(time / 3600)
+ time = time % 3600
+ var minute = parseInt(time / 60)
+ time = time % 60
+ var second = time
+
+ return ([hour, minute, second]).map(function(n) {
+ n = n.toString()
+ return n[1] ? n : '0' + n
+ }).join(':')
+}
+
+function formatLocation(longitude, latitude) {
+ if (typeof longitude === 'string' && typeof latitude === 'string') {
+ longitude = parseFloat(longitude)
+ latitude = parseFloat(latitude)
+ }
+
+ longitude = longitude.toFixed(2)
+ latitude = latitude.toFixed(2)
+
+ return {
+ longitude: longitude.toString().split('.'),
+ latitude: latitude.toString().split('.')
+ }
+}
+var dateUtils = {
+ UNITS: {
+ '年': 31557600000,
+ '月': 2629800000,
+ '天': 86400000,
+ '小时': 3600000,
+ '分钟': 60000,
+ '秒': 1000
+ },
+ humanize: function(milliseconds) {
+ var humanize = '';
+ for (var key in this.UNITS) {
+ if (milliseconds >= this.UNITS[key]) {
+ humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
+ break;
+ }
+ }
+ return humanize || '刚刚';
+ },
+ format: function(dateStr) {
+ var date = this.parse(dateStr)
+ var diff = Date.now() - date.getTime();
+ if (diff < this.UNITS['天']) {
+ return this.humanize(diff);
+ }
+ var _format = function(number) {
+ return (number < 10 ? ('0' + number) : number);
+ };
+ return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' +
+ _format(date.getHours()) + ':' + _format(date.getMinutes());
+ },
+ parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
+ var a = str.split(/[^0-9]/);
+ return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
+ }
+};
+
+export {
+ formatTime,
+ formatLocation,
+ dateUtils
+}
diff --git a/miniprogram/components/app-safe-header.vue b/miniprogram/components/app-safe-header.vue
new file mode 100644
index 000000000..e6fe072ff
--- /dev/null
+++ b/miniprogram/components/app-safe-header.vue
@@ -0,0 +1,74 @@
+
+